@charset "UTF-8";.btn,.btn-primary,.btn-danger,.btn-outline,.btn-cancel,.btn-save,.btn-delete,.btn-back{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s,filter .2s}.btn:hover:not(:disabled),.btn-primary:hover:not(:disabled),.btn-danger:hover:not(:disabled),.btn-outline:hover:not(:disabled),.btn-cancel:hover:not(:disabled),.btn-save:hover:not(:disabled),.btn-delete:hover:not(:disabled),.btn-back:hover:not(:disabled){filter:brightness(.85)}.btn:active:not(:disabled),.btn-primary:active:not(:disabled),.btn-danger:active:not(:disabled),.btn-outline:active:not(:disabled),.btn-cancel:active:not(:disabled),.btn-save:active:not(:disabled),.btn-delete:active:not(:disabled),.btn-back:active:not(:disabled){transform:scale(.98)}.btn:disabled,.btn-primary:disabled,.btn-danger:disabled,.btn-outline:disabled,.btn-cancel:disabled,.btn-save:disabled,.btn-delete:disabled,.btn-back:disabled{opacity:.6;cursor:not-allowed}.btn.is-primary,.is-primary.btn-primary,.is-primary.btn-danger,.is-primary.btn-outline,.is-primary.btn-cancel,.is-primary.btn-save,.is-primary.btn-delete,.is-primary.btn-back{background:var(--color-primary);color:#fff}.btn.is-secondary,.is-secondary.btn-primary,.is-secondary.btn-danger,.is-secondary.btn-outline,.is-secondary.btn-cancel,.is-secondary.btn-save,.is-secondary.btn-delete,.is-secondary.btn-back{background:var(--color-secondary);color:var(--color-text)}.btn.is-danger,.is-danger.btn-primary,.is-danger.btn-danger,.is-danger.btn-outline,.is-danger.btn-cancel,.is-danger.btn-save,.is-danger.btn-delete,.is-danger.btn-back{background:var(--color-error);color:#fff}.btn.is-success,.is-success.btn-primary,.is-success.btn-danger,.is-success.btn-outline,.is-success.btn-cancel,.is-success.btn-save,.is-success.btn-delete,.is-success.btn-back{background:var(--color-success);color:#fff}.btn.is-warning,.is-warning.btn-primary,.is-warning.btn-danger,.is-warning.btn-outline,.is-warning.btn-cancel,.is-warning.btn-save,.is-warning.btn-delete,.is-warning.btn-back{background:var(--color-warning);color:#fff}.btn.is-info,.is-info.btn-primary,.is-info.btn-danger,.is-info.btn-outline,.is-info.btn-cancel,.is-info.btn-save,.is-info.btn-delete,.is-info.btn-back{background:#3b82f6;color:#fff}.btn.is-xxs,.is-xxs.btn-primary,.is-xxs.btn-danger,.is-xxs.btn-outline,.is-xxs.btn-cancel,.is-xxs.btn-save,.is-xxs.btn-delete,.is-xxs.btn-back{padding:var(--spacing-btn-xxs-v) var(--spacing-btn-xxs-h);font-size:.75rem}.btn.is-xs,.is-xs.btn-primary,.is-xs.btn-danger,.is-xs.btn-outline,.is-xs.btn-cancel,.is-xs.btn-save,.is-xs.btn-delete,.is-xs.btn-back{padding:var(--spacing-btn-xs-v) var(--spacing-btn-xs-h);font-size:.75rem}.btn.is-m,.is-m.btn-primary,.is-m.btn-danger,.is-m.btn-outline,.is-m.btn-cancel,.is-m.btn-save,.is-m.btn-delete,.is-m.btn-back{padding:var(--spacing-btn-m-v) var(--spacing-btn-m-h);font-size:.875rem}.btn.is-l,.is-l.btn-primary,.is-l.btn-danger,.is-l.btn-outline,.is-l.btn-cancel,.is-l.btn-save,.is-l.btn-delete,.is-l.btn-back{padding:var(--spacing-btn-l-v) var(--spacing-btn-l-h);font-size:1rem}.btn.is-xl,.is-xl.btn-primary,.is-xl.btn-danger,.is-xl.btn-outline,.is-xl.btn-cancel,.is-xl.btn-save,.is-xl.btn-delete,.is-xl.btn-back{padding:var(--spacing-btn-xl-v) var(--spacing-btn-xl-h);font-size:1.125rem}.btn.is-xxl,.is-xxl.btn-primary,.is-xxl.btn-danger,.is-xxl.btn-outline,.is-xxl.btn-cancel,.is-xxl.btn-save,.is-xxl.btn-delete,.is-xxl.btn-back{padding:var(--spacing-btn-xxl-v) var(--spacing-btn-xxl-h);font-size:1.25rem}.btn.is-link,.is-link.btn-primary,.is-link.btn-danger,.is-link.btn-outline,.is-link.btn-cancel,.is-link.btn-save,.is-link.btn-delete,.is-link.btn-back{background:none;border:none;color:var(--color-primary);padding:0;font-weight:500}.btn.is-link:hover:not(:disabled),.is-link.btn-primary:hover:not(:disabled),.is-link.btn-danger:hover:not(:disabled),.is-link.btn-outline:hover:not(:disabled),.is-link.btn-cancel:hover:not(:disabled),.is-link.btn-save:hover:not(:disabled),.is-link.btn-delete:hover:not(:disabled),.is-link.btn-back:hover:not(:disabled){text-decoration:underline;filter:none}.is-loading{pointer-events:none}.is-loading lucide-icon{display:none}.is-loading:after{content:"";display:inline-block;width:20px;height:20px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.file-upload{display:flex;align-items:center;gap:var(--spacing-sm)}.file-upload-input{display:none}.file-upload-label{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--padding-xs) var(--padding-sm);background-color:var(--color-primary);color:var(--color-surface);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:500;transition:background-color .2s ease}.file-upload-label:hover{background-color:var(--color-secondary)}.file-upload-label svg{width:18px;height:18px}.file-name{color:var(--color-text);font-size:14px}.switch{position:relative;display:inline-block;flex-shrink:0;width:44px;height:24px}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .switch-slider{position:absolute;inset:0;border-radius:var(--radius-full);background:var(--color-border);cursor:pointer;transition:background-color .2s}.switch .switch-slider:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform .2s}.switch input:checked+.switch-slider{background:var(--color-primary)}.switch input:checked+.switch-slider:before{transform:translate(20px)}.switch input:focus-visible+.switch-slider{box-shadow:0 0 0 3px var(--color-primary-light)}.switch input:disabled+.switch-slider{opacity:.6;cursor:not-allowed}.message{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem}.message.is-error{background:var(--color-error-light);color:var(--color-error)}.message.is-success{background:var(--color-success-light);color:var(--color-success)}.message.is-warning{background:var(--color-warning-light);color:var(--color-warning)}.message.is-info{background:#3b82f626;color:#3b82f6}.chat-thread{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:50vh;overflow-y:auto}.chat-bubble{align-self:flex-start;max-width:80%}.chat-bubble p{margin:0;white-space:pre-wrap;word-break:break-word}.chat-bubble.is-gurdil,.chat-bubble.is-gurdil.is-mine{background:var(--color-secondary)}.chat-bubble.is-gurdil .ttm-icon-dwarf,.chat-bubble.is-gurdil.is-mine .ttm-icon-dwarf{color:var(--color-text)}.chat-bubble.is-mine{align-self:flex-end;background:var(--color-primary-light)}.chat-avatar{width:2.5rem;height:2.5rem;border-radius:var(--radius-full);object-fit:cover}.chat-avatar.is-sm{width:1.5rem;height:1.5rem}.chat-master-icon{flex-shrink:0;font-size:1.5rem}.chat-composer{display:flex;gap:var(--spacing-sm)}.chat-composer.form-group{margin-bottom:0}.chat-composer textarea{flex:1;min-height:auto;resize:none}.subtitle{color:var(--color-text-muted);font-size:.875rem;margin-bottom:var(--spacing-lg)}.joker-shake-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.joker-shake-icon{--joker-shake-amplitude: 6px;--joker-shake-tilt: 4deg;--joker-shake-duration: .12s;opacity:.6;filter:drop-shadow(0 0 12px currentColor);animation:joker-shake var(--joker-shake-duration) linear infinite}@keyframes joker-shake{0%{transform:translate(calc(var(--joker-shake-amplitude) * -1)) rotate(calc(var(--joker-shake-tilt) * -1))}25%{transform:translate(var(--joker-shake-amplitude),calc(var(--joker-shake-amplitude) * -.5)) rotate(var(--joker-shake-tilt))}50%{transform:translate(calc(var(--joker-shake-amplitude) * -.6),var(--joker-shake-amplitude)) rotate(calc(var(--joker-shake-tilt) * -.6))}75%{transform:translate(var(--joker-shake-amplitude),calc(var(--joker-shake-amplitude) * .4)) rotate(var(--joker-shake-tilt))}to{transform:translate(calc(var(--joker-shake-amplitude) * -1)) rotate(calc(var(--joker-shake-tilt) * -1))}}@media(prefers-reduced-motion:reduce){.joker-shake-icon{animation:none}}.joker-svgpart-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2;opacity:.4}.joker-svgpart-holder svg{width:100%;height:100%;display:block}.joker-svgpart-slidex,.joker-svgpart-slidey,.joker-svgpart-flash,.joker-svgpart-tint,.joker-svgpart-burst{animation-duration:var(--joker-svgpart-duration, .9s);animation-delay:var(--joker-svgpart-delay, 0s);animation-iteration-count:infinite}.joker-svgpart-slidex{animation-name:joker-svgpart-slidex;animation-timing-function:ease-in-out;animation-direction:alternate;fill:var(--joker-svgpart-color, currentColor)}.joker-svgpart-slidey{animation-name:joker-svgpart-slidey;animation-timing-function:ease-in-out;animation-direction:alternate;fill:var(--joker-svgpart-color, currentColor)}.joker-svgpart-flash{animation-name:joker-svgpart-flash;animation-timing-function:steps(1,end)}.joker-svgpart-tint{animation-name:joker-svgpart-tint;animation-timing-function:ease-in-out}.joker-svgpart-burst{animation-name:joker-svgpart-burst;animation-timing-function:ease-out;transform-box:fill-box;transform-origin:center;fill:var(--joker-svgpart-color, currentColor)}@keyframes joker-svgpart-slidex{0%{transform:translate(calc(var(--joker-svgpart-amplitude, 3) * -1px))}to{transform:translate(calc(var(--joker-svgpart-amplitude, 3) * 1px))}}@keyframes joker-svgpart-slidey{0%{transform:translateY(calc(var(--joker-svgpart-amplitude, 3) * -1px))}to{transform:translateY(calc(var(--joker-svgpart-amplitude, 3) * 1px))}}@keyframes joker-svgpart-flash{0%,12%,24%{fill:currentColor}6%,18%{fill:var(--joker-svgpart-color, #fff)}to{fill:currentColor}}@keyframes joker-svgpart-tint{0%,to{fill:currentColor}50%{fill:var(--joker-svgpart-color, #fff)}}@keyframes joker-svgpart-burst{0%{transform:scale(.15);opacity:0}20%{opacity:1}70%{transform:scale(1.1);opacity:1}85%{transform:scale(1.35);opacity:.55}to{transform:scale(1.75);opacity:0}}@media(prefers-reduced-motion:reduce){.joker-svgpart-slidex,.joker-svgpart-slidey,.joker-svgpart-flash,.joker-svgpart-tint,.joker-svgpart-burst{animation:none}}.grids-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.leaderboard-table{display:flex;flex-direction:column;gap:var(--spacing-sm)}.leaderboard-table .leaderboard-header,.leaderboard-table .leaderboard-row{display:grid;grid-template-columns:60px 1fr 120px;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);background:var(--color-background)}.leaderboard-table .leaderboard-header:nth-child(2n),.leaderboard-table .leaderboard-row:nth-child(2n){background:var(--color-surface)}.leaderboard-table .leaderboard-header{font-weight:600;color:var(--color-text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.leaderboard-table .leaderboard-header>:nth-child(3){text-align:right}.leaderboard-table .leaderboard-row{align-items:center}.leaderboard-table .rank-badge{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:#fff;font-weight:700;font-size:1rem}.leaderboard-table .player-name{color:var(--color-text);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-table .player-score{display:flex;justify-content:flex-end;font-weight:600;color:var(--color-primary);font-size:1.125rem}.leaderboard-row.has-left{opacity:.5;filter:grayscale(1)}.left-mention{margin-left:var(--spacing-xs);font-size:.75rem;font-style:italic;font-weight:400;color:var(--color-text-muted)}.joker-failed{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px var(--spacing-sm);border-radius:var(--radius-full);background:var(--color-error-light);color:var(--color-error);font-size:14px;font-weight:600}.joker-played .joker-failed .ttm-icon{font-size:18px!important}.ttm-icon{display:inline-block;width:1em;height:1em;background-color:currentColor;mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}.ttm-icon-1058626-200{mask-image:url(/assets/svg/1058626-200.svg);-webkit-mask-image:url(/assets/svg/1058626-200.svg)}.ttm-icon-1130810-200{mask-image:url(/assets/svg/1130810-200.svg);-webkit-mask-image:url(/assets/svg/1130810-200.svg)}.ttm-icon-1731184-200{mask-image:url(/assets/svg/1731184-200.svg);-webkit-mask-image:url(/assets/svg/1731184-200.svg)}.ttm-icon-3865371-200{mask-image:url(/assets/svg/3865371-200.svg);-webkit-mask-image:url(/assets/svg/3865371-200.svg)}.ttm-icon-392500-200{mask-image:url(/assets/svg/392500-200.svg);-webkit-mask-image:url(/assets/svg/392500-200.svg)}.ttm-icon-4362701-200{mask-image:url(/assets/svg/4362701-200.svg);-webkit-mask-image:url(/assets/svg/4362701-200.svg)}.ttm-icon-687184-200{mask-image:url(/assets/svg/687184-200.svg);-webkit-mask-image:url(/assets/svg/687184-200.svg)}.ttm-icon-728757-200{mask-image:url(/assets/svg/728757-200.svg);-webkit-mask-image:url(/assets/svg/728757-200.svg)}.ttm-icon-728757-201{mask-image:url(/assets/svg/728757-201.svg);-webkit-mask-image:url(/assets/svg/728757-201.svg)}.ttm-icon-759984-200{mask-image:url(/assets/svg/759984-200.svg);-webkit-mask-image:url(/assets/svg/759984-200.svg)}.ttm-icon-759984-201{mask-image:url(/assets/svg/759984-201.svg);-webkit-mask-image:url(/assets/svg/759984-201.svg)}.ttm-icon-7796814-200{mask-image:url(/assets/svg/7796814-200.svg);-webkit-mask-image:url(/assets/svg/7796814-200.svg)}.ttm-icon-880760-200{mask-image:url(/assets/svg/880760-200.svg);-webkit-mask-image:url(/assets/svg/880760-200.svg)}.ttm-icon-body-women{mask-image:url(/assets/svg/body-women.svg);-webkit-mask-image:url(/assets/svg/body-women.svg)}.ttm-icon-chance{mask-image:url(/assets/svg/chance.svg);-webkit-mask-image:url(/assets/svg/chance.svg)}.ttm-icon-dwarf{mask-image:url(/assets/svg/dwarf-face-svgrepo-com.svg);-webkit-mask-image:url(/assets/svg/dwarf-face-svgrepo-com.svg)}.ttm-icon-chaos-elements{mask-image:url(/assets/svg/chaos-elements.svg);-webkit-mask-image:url(/assets/svg/chaos-elements.svg)}.ttm-icon-chaos-planet{mask-image:url(/assets/svg/chaos-planet.svg);-webkit-mask-image:url(/assets/svg/chaos-planet.svg)}.ttm-icon-chaos-prof{mask-image:url(/assets/svg/chaos-prof.svg);-webkit-mask-image:url(/assets/svg/chaos-prof.svg)}.ttm-icon-cheater-1{mask-image:url(/assets/svg/cheater-1.svg);-webkit-mask-image:url(/assets/svg/cheater-1.svg)}.ttm-icon-cheater-2{mask-image:url(/assets/svg/cheater-2.svg);-webkit-mask-image:url(/assets/svg/cheater-2.svg)}.ttm-icon-cheater-mask{mask-image:url(/assets/svg/cheater-mask.svg);-webkit-mask-image:url(/assets/svg/cheater-mask.svg)}.ttm-icon-ejac{mask-image:url(/assets/svg/ejac.svg);-webkit-mask-image:url(/assets/svg/ejac.svg)}.ttm-icon-icon{mask-image:url(/assets/svg/icon.svg);-webkit-mask-image:url(/assets/svg/icon.svg)}.ttm-icon-boobs{mask-image:url(/assets/svg/icons8-boobs-50.svg);-webkit-mask-image:url(/assets/svg/icons8-boobs-50.svg)}.ttm-icon-boobs-2{mask-image:url(/assets/svg/icons8-boobs-50-2.svg);-webkit-mask-image:url(/assets/svg/icons8-boobs-50-2.svg)}.ttm-icon-boobs-3{mask-image:url(/assets/svg/icons8-boobs-50-3.svg);-webkit-mask-image:url(/assets/svg/icons8-boobs-50-3.svg)}.ttm-icon-boobs-copie{mask-image:url(/assets/svg/icons8-boobs-50copie.svg);-webkit-mask-image:url(/assets/svg/icons8-boobs-50copie.svg)}.ttm-icon-penis{mask-image:url(/assets/svg/icons8-penis-50.svg);-webkit-mask-image:url(/assets/svg/icons8-penis-50.svg)}.ttm-icon-penis-2{mask-image:url(/assets/svg/icons8-penis-50-2.svg);-webkit-mask-image:url(/assets/svg/icons8-penis-50-2.svg)}.ttm-icon-loading-sex{mask-image:url(/assets/svg/loading-sex.svg);-webkit-mask-image:url(/assets/svg/loading-sex.svg)}.ttm-icon-not-copy-2{mask-image:url(/assets/svg/not-copy-2.svg);-webkit-mask-image:url(/assets/svg/not-copy-2.svg)}.ttm-icon-not-copy-boobs{mask-image:url(/assets/svg/not-copy-boobs.svg);-webkit-mask-image:url(/assets/svg/not-copy-boobs.svg)}.ttm-icon-sex-bed{mask-image:url(/assets/svg/sex-bed.svg);-webkit-mask-image:url(/assets/svg/sex-bed.svg)}.ttm-icon-sex-bed-2{mask-image:url(/assets/svg/sex-bed-2.svg);-webkit-mask-image:url(/assets/svg/sex-bed-2.svg)}:root{--color-primary: #D4853B;--color-primary-dark: #B8702F;--color-primary-light: rgba(212, 133, 59, .2);--color-secondary: #E8B89D;--color-secondary-dark: #D9A085;--color-background: #FDF8F5;--color-surface: #ffffff;--color-border: #E8D5C9;--color-text: #1f2937;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-success: #10b981;--color-success-light: rgba(16, 185, 129, .15);--color-warning: #f59e0b;--color-warning-light: rgba(245, 158, 11, .15);--color-error: #ef4444;--color-error-light: rgba(239, 68, 68, .15);--spacing-xss: .1rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--spacing-btn-xxs-v: var(--spacing-xss);--spacing-btn-xxs-h: var(--spacing-sm);--spacing-btn-xs-v: var(--spacing-xs);--spacing-btn-xs-h: var(--spacing-md);--spacing-btn-m-v: var(--spacing-sm);--spacing-btn-m-h: var(--spacing-lg);--spacing-btn-l-v: var(--spacing-sm);--spacing-btn-l-h: var(--spacing-xl);--spacing-btn-xl-v: var(--spacing-md);--spacing-btn-xl-h: var(--spacing-xl);--spacing-btn-xxl-v: var(--spacing-md);--spacing-btn-xxl-h: var(--spacing-xxl);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--padding-xs: 4px;--padding-sm: 8px;--padding-md: 12px;--padding-lg: 16px;--padding-xl: 20px;--padding-xxl: 24px}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;line-height:1.5;color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,input,textarea,select{font-family:inherit;font-size:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.flex{display:flex}.flex-center{align-items:center;justify-content:center}.flex-between{align-items:center;justify-content:space-between}.flex-col{flex-direction:column}.flex-gap-sm{gap:var(--spacing-sm)}.flex-gap-md{gap:var(--spacing-md)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-danger{color:var(--color-error)}.page{min-height:100vh;background:var(--color-background);padding-bottom:calc(80px + env(safe-area-inset-bottom))}.main-content{max-width:900px;margin:0 auto;padding:var(--spacing-md)}.page-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.page-header h2{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0}.page-title{flex:1}.page-title h2{font-size:1.5rem;font-weight:600;color:var(--color-text);margin:0}.btn,.btn-back,.btn-delete,.btn-save,.btn-cancel,.btn-outline,.btn-danger,.btn-primary{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn:disabled,.btn-back:disabled,.btn-delete:disabled,.btn-save:disabled,.btn-cancel:disabled,.btn-outline:disabled,.btn-danger:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn:focus,.btn-back:focus,.btn-delete:focus,.btn-save:focus,.btn-cancel:focus,.btn-outline:focus,.btn-danger:focus,.btn-primary:focus{outline:none}.btn--primary,.btn-save,.btn-primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled),.btn-save:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn--primary:active:not(:disabled),.btn-save:active:not(:disabled),.btn-primary:active:not(:disabled){transform:scale(.98)}.btn--secondary{background:var(--color-secondary);color:#fff}.btn--secondary:hover:not(:disabled){background:var(--color-secondary-dark)}.btn--danger,.btn-delete,.btn-danger{background:var(--color-error);color:#fff}.btn--danger:hover:not(:disabled),.btn-delete:hover:not(:disabled),.btn-danger:hover:not(:disabled){background:#dc2626}.btn--outline,.btn-cancel,.btn-outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn--outline:hover:not(:disabled),.btn-cancel:hover:not(:disabled),.btn-outline:hover:not(:disabled){background:var(--color-background)}.btn--ghost{background:transparent;color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--color-background);color:var(--color-text)}.btn--icon,.btn-back{width:40px;height:40px;padding:0;justify-content:center;background:var(--color-surface);color:var(--color-text-secondary)}.btn--icon:hover:not(:disabled),.btn-back:hover:not(:disabled){background:var(--color-background);color:var(--color-text)}.btn-sm{padding:var(--padding-xs) var(--padding-sm);font-size:.75rem}.btn-md{padding:var(--padding-sm) var(--padding-md);font-size:.875rem}.btn-lg{padding:var(--padding-md) var(--padding-lg);font-size:1rem}.btn-xl{padding:var(--padding-lg) var(--padding-xl);font-size:1.125rem}.btn-full{width:100%}.btn-back{border-radius:var(--radius-md)}.btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.btn-close:hover{background:var(--color-background);color:var(--color-text)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background:var(--color-background);transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-group input::placeholder,.form-group textarea::placeholder,.form-group select::placeholder{color:var(--color-text-muted)}.form-group textarea{resize:vertical;min-height:100px}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.message{padding:var(--spacing-md);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);font-size:.875rem}.message.error{background:var(--color-error-light);color:var(--color-error)}.message.success{background:var(--color-success-light);color:var(--color-success)}.message.warning{background:var(--color-warning-light);color:var(--color-warning)}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text)}.modal-body{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border)}[modal-footer]{display:contents}.loading{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center}.empty-state p{margin:0;color:var(--color-text-secondary)}.badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;background:var(--color-primary);color:#fff;font-size:.7rem;font-weight:600;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.badge.is-inline{position:static}.badge.is-primary{background:var(--color-primary)}.badge.is-primary-dark{background:var(--color-primary-dark)}.badge.is-primary-light{background:var(--color-primary-light);color:var(--color-primary-dark)}.badge.is-secondary{background:var(--color-secondary)}.badge.is-secondary-dark{background:var(--color-secondary-dark)}.badge.is-success{background:var(--color-success)}.badge.is-warning{background:var(--color-warning)}.badge.is-danger{background:var(--color-error)}
