/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:DungGeunMo;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/DungGeunMo.woff)format("woff");font-display:swap}body{image-rendering:pixelated;background:#1a1a24;margin:0;font-family:DungGeunMo,system-ui,sans-serif}#root{background-image:url(/assets/background-farm-Cy5-J3MC.png);background-position:50%;background-size:cover;background-attachment:fixed;flex-direction:column;min-height:100dvh;display:flex;position:relative}#root:before{content:"";pointer-events:none;z-index:0;background:#00000073;position:fixed;inset:0}.app-navbar{z-index:1;color:#fff;justify-content:space-between;align-items:center;padding:12px 20px;font-size:20px;display:flex;position:relative}.app-navbar-brand{color:inherit;text-shadow:2px 2px #00000059;text-decoration:none}.app-navbar-actions{align-items:center;gap:10px;display:flex}.app-navbar-user{color:#4a2a0a;background:#e8d5b0f2;border:3px solid #a67c52;border-radius:8px;padding:8px 12px;box-shadow:0 3px #5a3a0a59}.app-navbar-logout{color:#fff;cursor:pointer;text-shadow:1px 1px #7f2f19;background:linear-gradient(#d86c4c 0%,#b14826 100%);border:3px solid #7f2f19;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:16px;box-shadow:0 3px #5a3a0a73}.app-navbar-logout:active{transform:translateY(3px);box-shadow:0 0 #5a3a0a73}.app-main{z-index:1;flex:1;justify-content:center;align-items:center;padding:20px;display:flex;position:relative}.modal-9slice{z-index:1;background-color:#e8d5b0;border:24px solid #0000;border-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAc0lEQVR4nGP8//8/g6SoGgMDA8N/BkzA+Pz1LQZGCRFVsIIzk3wxVJjkbQYrZJQQUQUruHLyHoYiHXMlsEIWZME7zz7B2SpSfHA2ExZ3YACiFKFYh2wFMmB8dWUVg55DNU7fXTrQyghWBAIgheiKQApADAC4qCXMif4x7wAAAABJRU5ErkJggg==) 3 fill round;display:flex;position:relative;box-shadow:0 10px 40px #0009}.label-header{z-index:5;align-items:stretch;height:56px;display:flex;position:absolute;top:-42px;left:50%;transform:translate(-50%)}.lh-left{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAANCAYAAACO/s+2AAAAQElEQVQImWP8//8/AwhIiqqBGSwwzqUDrWAJRgkRVTDnxsb9YAEmMIkEBkgA5DAQDXcpA0jg1ZVVIPq/hIjqfwDJDBZBmMDtdwAAAABJRU5ErkJggg==) 100%/auto 100% no-repeat;width:18px}.lh-mid{color:#fff;text-shadow:2px 2px #6b3e15;white-space:nowrap;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAANCAYAAACgu+4kAAAAMElEQVQokWOUEFH9z0ABYHx1ZRVFBrDc2LifEv0MTBTpHjVguBhAcUqkLC8wMDAAADQLC88DvzIaAAAAAElFTkSuQmCC) 50%/auto 100% repeat-x;justify-content:center;align-items:center;padding:0 14px;font-size:28px;display:flex}.lh-right{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAANCAYAAACO/s+2AAAAUElEQVQImWOUEFH9z8DAwPD89S1GEM3w6sqq/yAMkvj//z8Dy42N+8ESlw60MkiKqv1nAvOQwAAJMIJcCWLoOVSD+QwgJ4PwqyurGCREVBkAjJ4ei5IwZ/cAAAAASUVORK5CYII=) 0/auto 100% no-repeat;width:18px}.pixel-input{color:#4a2a0a;width:100%;image-rendering:pixelated;background:#fdf5e6;border:none;border-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAAAwCAYAAABHTnUeAAABMElEQVR4Ae3BMWoTYACG4TcfGaRIIatDrGC3rKW0bhk8hRdwzQW8QW/h7gXsKEjWrNKSoWtAiji6/lVoyZb6vc8z4R8nLxi8u3j7kcHJz7srpGfq9vjVikGQigWpWJCKTfjL5flyyeDD6e+vDN6/XiM9V5++nDIKUrEgFQtSsSl7evnmjNFsvkA6FLvthtH9zZrHBKlYkIoFqdiUPc3mC6RDNZsvGN3frHlMkIoFqViQigWpWJCKBalYkIoFqViQigWpWJCKBalYkIoFqViQigWpWJCKBalYkIoFqViQigWpWJCKTdnTbrthNJsvkA7FbrthH0EqFqRiQSo25QmffxyteODXFQ9skA7XGaPb46MVgyAVC1KxIBWb8ITL8+US6T/x7fv1NYMgFQtSsSAV+wO4ACQsY2IXyQAAAABJRU5ErkJggg==) 12 fill;border-radius:0;outline:none;padding:14px 16px;font-family:inherit;font-size:20px}.btn-confirm{color:#fff;cursor:pointer;text-shadow:2px 2px #2e7d12;background:linear-gradient(#6fcf3a 0%,#4caf20 100%);border:4px solid #2e7d12;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:14px 20px;font-family:inherit;font-size:24px;transition:all .1s;display:flex;box-shadow:0 4px #1b5e08,inset 0 2px #ffffff4d}.btn-confirm:active{transform:translateY(4px);box-shadow:0 0 #1b5e08}.btn-confirm.blue{text-shadow:2px 2px #124d7d;background:linear-gradient(#3a8ccf 0%,#206daf 100%);border-color:#124d7d;box-shadow:0 4px #083c5e,inset 0 2px #ffffff4d}.btn-confirm.blue:active{box-shadow:0 0 #083c5e}.btn-confirm.amber{text-shadow:2px 2px #7a4a12;background:linear-gradient(#e8a848 0%,#c8822a 100%);border-color:#7a4a12;box-shadow:0 4px #5a3a0a,inset 0 2px #ffffff4d}.btn-cancel{color:#a67c52;cursor:pointer;background:0 0;border:3px solid #a67c52;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:18px;display:flex}.btn-cancel:hover{color:#d35400;border-color:#d35400}.ui-icon{width:24px;height:24px;image-rendering:pixelated;vertical-align:middle;display:inline-block}.ui-confirm{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAALCAYAAABLcGxfAAAAl0lEQVQokWP8//8/Q8oJPwZc4HDK9/9IUoxMOFVCFd+8spvBdg4nGDMwMPyHa5hjsQlDMUgRzPbDU79CrAA5SV3HFW6t7RxORphiuGaoYobzTAwsIMUokrgUQwETuiBOxefBShGeRjcJm2IQgRJKMEW4FIMZatou4OBiMPyHYgM2xcg2MEIl8SoGC0CDFcZHiVUMGxkYGAD5WEmLd9dhBgAAAABJRU5ErkJggg==) 50%/contain no-repeat}.ui-arrow-right{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAMCAYAAAC0qUeeAAAAo0lEQVQokWP8//8/AzqQFFWDCTLCpJ6/vsXAhE0hSGLF9u0gLopJTDAFMAyTsDdRxtQgIaL6/8DpO/9xAZAcSI2EiCpEMSEA04DhZnwArPjgmbs4lYDkZs1bA2azgAgQZ9Y8hIKl08oxFMIVYzMNZggI7Fs9FxTOjIxgX6KFp1NoMpwNUgiLHJjJ8JhC1oisEMwARbekqBpcJSj2sEU3AwMDAwAByYTWAmIOFwAAAABJRU5ErkJggg==) 50%/contain no-repeat}.ui-arrow-left{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAMCAYAAAC0qUeeAAAAn0lEQVQokWP8//8/g6SoGgMS+A8inr++xciABpjQ+P9XbN8OUggy4D+6YhZ0hfYmynABZA1gmyREVEH4/4HTd/7jAiA5kBqCCmEApA7dzXgBWPGseWsYDp65i1MdTA7uQZAGBoYQuAejszoxNLGAfAnytVNoMlwDLsAICg1Y0IE0wMC+1XPR9TAie5ARmwIkjGIy3AZYJCAng+evbzEAAPSsfL0j0pGKAAAAAElFTkSuQmCC) 50%/contain no-repeat}.landing-layout{flex-direction:column;align-items:center;gap:24px;width:min(900px,95%);min-height:520px;padding:50px 40px 34px}.landing-intro{flex-direction:column;align-items:center;gap:18px;width:100%;display:flex}.landing-title{color:#4a2a0a;text-shadow:3px 3px #e8a848;text-align:center;margin:0;font-size:44px}.landing-lead{color:#4a2a0a;text-align:center;margin:0;font-size:18px;line-height:1.7}.landing-lead strong{color:#c8822a}.landing-cta{min-width:260px;padding:16px 28px;font-size:26px}.landing-deco{image-rendering:pixelated;pointer-events:none;z-index:2;position:absolute}.deco-bird{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAQCAYAAACm53kpAAACT0lEQVR4nOVVv0vDUBA+QceCS5cScKsOgoOKLmKGOolQcFFxcHBpXRREnRycVBxc1MXBQSrF+h90qKBQoaKDoHQQhFqHIhS6iEt999qLL8lL8trEQf2G/Lzv7rvvkvc6QYK5xHadrlNHGx2ymL+CTusDbD6xmhQf1Vs1QTQQ4Yfvt7ZXDpMBkuZhaiaOJyUTqLiYo1QqK/MdNPjhetY3DHhai9WjoxlIl+KwMj0Fb5UiXD3XVOoa/LvJOGhaRJljhd8BnE5k4BqSXmEmcAMazVdNL6qf6kmIH32fhzSctm2g3wEw1XziyH98LcJDyZtvfAHFfDdgEzjB85tbE5mmIEtAkyE+wclA2foQ1AAQqvpJNzegbzfLRWAThY9bGBoZ5EHN/4cnPdhfNxXFAkd7hyDyVQRQHpGPCGIAHAPf79z0Uz7jC8AmcDrD7LrABCDQiH4tJKtre04miAYSZAJEfhADwDPXL2hHnpN+XGuQb9sG3ZoUsbS8Y9tetmoxEA1cmNZZjl4lvt8BWIE5sL4TiG8yoCGIiRgb4ffosqyQrPkg+E4iZZDlsNZ341K87QsQk6CLhRvzJFTFI5Dfr+kqodIG2jFQzCHjW7nSX4CS4PXiyxmE78Nw91CB455Zz+atTZxc5FoyMIgBiPqJj8B/3sp1XAMocNPYYsKQ2lWbvB8Dg+CLOYhfZnxgfCucDBjHA1uZc9g8bVG4UrPFSm/GXLrUH2cCdM5f7GJ8AJ2dI/kspJq5f5qPh81QFrz4MgMoAIRmnYrIRPwqvus2+B/wBQPT5FXEkzi7AAAAAElFTkSuQmCC) 0 0/192px 48px no-repeat;width:48px;height:48px;animation:.7s steps(4,end) infinite deco-bird-walk,3s ease-in-out infinite deco-bird-float}.deco-bird-1{top:38px;left:38px}.deco-bird-2{animation-delay:0s,.9s;top:56px;right:46px}.deco-sheep{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAAAgCAYAAADaInAlAAAEAElEQVR4nO1bS2sTURQeoT9BF91JxVLQhUrdKChI3DQiCIqgOx8RXfv+Ab4XXSm2xZ2CIAjSdGM2FXRjUBcKUrG4y8L+h3G+Sc7kcDNzH3PPzAgzH6STmdzc7zy+c+6dJJ0KGtQaU1Ub0KBaNAKoORoB1By5BfB4eTXk5zcun9jmb04DW0jF31kARHz9Ult5ZXi9DCGozhPqIELp+DsJAOSTxEGw3v8dHNw3Fxyd3xUbUlQispwHP3+9ChGWxZkWfyBv/K0FoCMfEg8xHLMaLi8uxucbP3oigbHhH9tRvgiL7oA6/1EA5DvF39YOKwGAHArjRDqQoV+/fMch9BVBPv7yRFh0ByT/s6DGhPtv8t0oAJ3ydMB7nqwEQf9Dz/m9abBJvIr5Iy0x/qo7IGBbAAT4H/FrxxgFMKxidwEQJKrfR4Cvnt32ToCpAtO4AYkO6O2/YZxWAOeuPgj3H9hrrTw+jjZmmEMiCTZI4/cFT4BLBUp1QIhovT+XqwPaQCuAP7824wdX/+HjV+Ljx/fPJ8bDSKnAA4danfDt63dsfR3bYMvvK0DeAfMkwaf6qQBtkacAjUvAzt0zwd07j4J792/GR5wDlATXdckVxE8JBy+uZYlAEq4dkEOiA1IBoggo/oQs310LUCuAT72lyPBOuDXYDJZevHGa+PO3n07jdfx4Dse4AAlZyZHgd+2Akt2PAH+xjFD81QL0hbEDIPnYTb58eishBqj6AdVxCj7ap+/6D36ACxBJKTMBug7IIb0EogC2Bq0Q8Sdb4DsvAuJTiwA5sIm/VgCze8bk0ztmg8HfjZi8c+F0pqMSlZfGzwWIZHD+ogRYdQfkIP/PX3sYi0AXAxdu608Cj525GJMTgXpbpJJKVD8HBAgb1CVAhXTgdR0QoCUorSB8Y5BWgMCpsydTx3PfbbmdvguA8gBsjHSBlk4+gOQT0gRI1yVtsO2AWR1IEvCfxEfxpxj48GkFgFuY7dMzyZcecN50W4LAR5uW/J8cafgJVQmQOmAWpAU4uoVMRAjw6s+KgQu3zSawzZ7j0MUfVQijT72S5EfVszByYs3GEBv+KBBd3VhugxQ/B3VAU8VREcAGX/6oABJexCKau6srQs6NcxO/aRO4oF5j1d3NuD4xR94gqPwqNwVCFZ8Uf4R2FPzEzzwd0Nd/XgDAaO4JEWTFwMSf+xdBuDeFOgG6VSsLFARuS+DzhYUGeTtgkVD99+H1+U1gOwoIGVG402n8kdOl87t2wALtEClA0yZwLW0ZYDA67bMG/s/8tgkv0P+2TeK99gB8AkMinIld52n4i+G3XgL4hFnGSO64G/5y+HPtAYp0tOEvl7/5x5CaoxFAzdEIoOZoBFBz/AMpOXrxKB93IgAAAABJRU5ErkJggg==) 0 0/320px 80px no-repeat;width:80px;height:80px;animation:1.2s steps(4,end) infinite deco-sheep-walk;bottom:28px;left:42px}.deco-cat{background:url(/assets/cat-sheet-CNGMdTm7.png) 0 0/256px 512px no-repeat;width:64px;height:64px;animation:1.6s steps(4,end) infinite deco-cat-walk;bottom:28px;right:48px}@keyframes deco-bird-walk{to{background-position:-192px 0}}@keyframes deco-sheep-walk{to{background-position:-320px 0}}@keyframes deco-cat-walk{to{background-position:-256px 0}}@keyframes deco-bird-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (width<=680px){.landing-title{font-size:36px}.deco-bird-1,.deco-bird-2{display:none}.deco-sheep,.deco-cat{transform:scale(.8)}}.select-layout{flex-direction:column;align-items:center;gap:20px;width:min(950px,95%);min-height:500px;padding:50px 30px 30px}.select-cards-container{flex-wrap:wrap;flex:1;justify-content:center;gap:24px;width:100%;display:flex}.module-card{cursor:pointer;width:260px;color:inherit;background:#ffffffbf;border:6px solid #a67c52;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:24px 16px;text-decoration:none;transition:all .15s;display:flex}.module-card:hover{background:#fff5d7;border-color:#d35400;transform:translateY(-6px);box-shadow:0 10px #6b3e154d}.module-card .icon{font-size:72px;line-height:1}.module-card h3{color:#4a2a0a;margin:12px 0 0;font-size:26px}.module-card p{color:#6b3e15;text-align:center;white-space:pre-line;margin:8px 0 0;font-size:16px;line-height:1.4}.login-layout{flex-direction:row;width:min(880px,95%);min-height:460px}.login-left{border-right:4px dashed #a67c52;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:15px;padding:30px;display:flex}.login-left h2{color:#4a2a0a;text-align:center;font-size:26px;line-height:1.5}.login-right{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:30px;display:flex}.login-submit{width:100%}.login-error{color:#8a1f1f;text-align:center;background:#fbe5e5;border:2px solid #c44b4b;width:100%;margin:4px 0 0;padding:8px 10px;font-size:13px;line-height:1.4}.signup-layout{flex-direction:row;width:min(880px,95%);min-height:460px}.signup-left{border-right:4px dashed #a67c52;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:15px;padding:30px;display:flex}.signup-left h2{color:#4a2a0a;text-align:center;font-size:26px;line-height:1.5}.signup-right{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:24px 30px;display:flex}.signup-right .pixel-input{padding:12px 16px;font-size:18px}.pet-main{padding:4px 20px 8px}.pet-frame{word-break:keep-all;flex-direction:column;gap:0;width:min(1100px,96%);height:calc(100dvh - 60px);padding:0;position:relative;overflow:visible}.pet-inner{flex-direction:column;flex:1;min-height:0;padding:12px 24px;display:flex;position:relative;overflow:hidden}.pet-frame h2,.pet-frame h3,.pet-frame p,.pet-frame span{color:#3c1e08}.pet-dots{flex-shrink:0;justify-content:center;gap:8px;margin-bottom:6px;display:flex}.pet-dot{background:#c4a882;border-radius:50%;width:12px;height:12px;transition:all .3s}.pet-dot.on{background:#6b8e3a}.pet-dot.now{transform:scale(1.3);box-shadow:0 0 6px #6b8e3a}.pet-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pet-top{text-align:center;flex-shrink:0;margin-bottom:6px}.pet-top h2{margin:0 0 3px;font-size:22px}.pet-top p{margin:0;font-size:15px;line-height:1.45}.pet-center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.pet-center h2{margin:0;font-size:24px}.pet-center p{margin:0;font-size:16px}.pet-loader{border:4px solid #c4a882;border-top-color:#6b8e3a;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite pet-spin}@keyframes pet-spin{to{transform:rotate(360deg)}}.pet-bottom{flex-shrink:0;justify-content:center;padding-top:6px;display:flex}.pet-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#6b8e3a;border:3px solid #4a6b1f;border-radius:6px;padding:10px 28px;font-family:DungGeunMo,system-ui,sans-serif;font-size:18px;transition:all .15s}.pet-btn:hover{background:#7fa842;transform:translateY(-2px);box-shadow:0 4px #4a6b1f}.pet-groups{flex:1;gap:10px;min-height:0;display:flex;overflow:hidden}.pet-group{flex-direction:column;flex:1;gap:3px;min-height:0;display:flex}.pet-group-title{text-align:center;border-radius:4px;margin:0;padding:2px 0;font-size:15px}.pet-group-title.cat{background:#f4a26140}.pet-group-title.dog{background:#457b9d40}.pet-row{flex:1;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));align-content:start;gap:4px;min-height:0;display:grid}.pet-img{aspect-ratio:1;object-fit:cover;border:2px solid #a67c52;border-radius:5px;width:100%}.pet-test-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));align-content:center;justify-items:center;gap:8px;min-height:0;display:grid}.pet-test-card{background:#fff8ec80;border:2px solid #a67c52;border-radius:8px;flex-direction:column;align-items:center;gap:4px;width:100%;padding:6px;display:flex}.pet-test-card img{aspect-ratio:1;object-fit:cover;border-radius:5px;width:100%}.pet-test-label{font-size:14px;font-weight:700}.pet-test-q{color:#8b6914;font-size:12px;font-style:italic}.pet-bias-layout{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow:hidden}.pet-result-grid{flex:1;gap:6px;min-height:0;display:flex}.pet-rcard{border:3px solid;border-radius:8px;flex-direction:column;flex:1;min-width:100px;display:flex;overflow:hidden}.pet-rcard.ok{background:#6b8e3a0f;border-color:#6b8e3a}.pet-rcard.ng{background:#c0392b0f;border-color:#c0392b}.pet-rcard img{aspect-ratio:4/3;object-fit:cover;width:100%}.pet-rcard-txt{flex-direction:column;gap:1px;padding:5px 6px;font-size:12px;display:flex}.pet-rcard-answer{font-weight:700}.pet-rcard-pred{color:#5a3a1a}.pet-rcard-verdict{font-weight:700}.pet-hint-box{background:#f5e6cc;border-left:5px solid #d35400;border-radius:6px;flex-shrink:0;padding:8px 12px;font-size:14px;line-height:1.6}.pet-hint-box p{margin:2px 0}.pet-compare-scroll{flex:1;min-height:0;overflow-y:auto}.pet-compare-scroll::-webkit-scrollbar{width:8px}.pet-compare-scroll::-webkit-scrollbar-track{background:#d4be97;border-radius:4px}.pet-compare-scroll::-webkit-scrollbar-thumb{background:#a67c52;border:1px solid #8b6332;border-radius:4px}.pet-compare-scroll::-webkit-scrollbar-thumb:hover{background:#8b6332}.pet-compare-cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.pet-compare-col h3{text-align:center;margin:0 0 6px;font-size:16px}.pet-compare-cards{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px;display:grid}.pet-ccard{border:3px solid;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.pet-ccard.ok{background:#6b8e3a0f;border-color:#6b8e3a}.pet-ccard.ng{background:#c0392b0f;border-color:#c0392b}.pet-ccard img{aspect-ratio:1;object-fit:cover;width:100%}.pet-ccard-info{text-align:center;flex-direction:column;gap:1px;padding:4px 6px;font-size:12px;display:flex}.pet-scores{justify-content:center;align-items:center;gap:20px;margin:2px 0;display:flex}.pet-score-box{flex-direction:column;align-items:center;gap:2px;display:flex}.pet-score-label{font-size:14px}.pet-score-num{font-size:34px;font-weight:700}.pet-arrow{font-size:28px}.pet-bar-wrap{background:#c4a882;border-radius:8px;width:min(300px,80%);height:16px;overflow:hidden}.pet-bar{background:#6b8e3a;border-radius:8px;height:100%;transition:width .3s}.pet-bar.blue{background:#3b82f6}.c-good{color:#2d7831}.c-bad{color:#c0392b}.c-warn{color:#b45309}.pet-error{color:#c0392b;text-align:center;background:#fde9e6;border:2px solid #e74c3c;border-radius:6px;margin-bottom:6px;padding:6px 10px;font-size:14px}.pet-busy{border-radius:inherit;z-index:10;background:#e8d5b0e0;justify-content:center;align-items:center;font-size:22px;display:flex;position:absolute;inset:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.mnist-layout{color:#4a2a0a;flex-direction:column;gap:22px;width:min(1180px,96%);min-height:min(720px,100dvh - 110px);padding:52px 28px 28px}.mnist-stage-indicator{flex-shrink:0;justify-content:center;align-items:center;gap:6px;display:flex}.mnist-stage-item{flex-direction:column;align-items:center;gap:4px;display:flex}.mnist-stage-dot{color:#8b6332;background:#c4a882;border:3px solid #a67c52;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;transition:all .3s;display:flex}.mnist-stage-dot.now{color:#fff;background:#6b8e3a;border-color:#4a6b1f;transform:scale(1.15);box-shadow:0 0 8px #6b8e3a80}.mnist-stage-dot.done{color:#fff;background:#4a6b1f;border-color:#3a5416}.mnist-stage-dot.locked{opacity:.5}.mnist-stage-label{color:#6b8e3a;white-space:nowrap;font-size:13px;font-weight:700}.mnist-center-screen{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.mnist-insight-panel{text-align:center;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:680px;padding:32px 36px;display:flex}.mnist-insight-panel h2{margin:0;font-size:32px}.mnist-insight-body{color:#6b3e15;margin:0;font-size:20px;line-height:1.7}.mnist-placeholder-panel{text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:680px;padding:32px 36px;display:flex}.mnist-placeholder-panel h2{margin:0;font-size:32px}.mnist-placeholder-panel p{color:#6b3e15;margin:0;font-size:20px;line-height:1.7}.mnist-placeholder-note{font-style:italic;color:#b98850!important;font-size:15px!important}.mnist-train-panel{text-align:center;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:680px;padding:32px 36px;display:flex}.mnist-train-panel h2{margin:0;font-size:32px}.mnist-train-subtitle{color:#c8822a;margin:0;font-size:22px;animation:1.5s infinite pulse-warn}@keyframes pulse-warn{0%{opacity:.8;transform:scale(.98)}50%{opacity:1;text-shadow:0 0 8px #c8822a66;transform:scale(1.02)}to{opacity:.8;transform:scale(.98)}}.mnist-progress-bar-wrapper{background:#d4c8a8;border:3px solid #a67c52;border-radius:14px;width:100%;height:28px;overflow:hidden}.mnist-progress-bar-fill{background:linear-gradient(90deg,#6b8e3a,#8db84e);border-radius:11px;height:100%;transition:width .4s}.mnist-train-status{color:#6b3e15;margin:0;font-size:20px}.mnist-epoch-log{text-align:left;flex-direction:column;gap:4px;width:100%;max-height:180px;display:flex;overflow-y:auto}.mnist-epoch-line{color:#6b3e15;background:#f5e6c8;border-radius:6px;justify-content:space-between;padding:4px 8px;font-size:14px;display:flex}.mnist-train-complete p{margin:4px 0;font-size:20px}.mnist-compare-panel{text-align:center;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:760px;padding:32px 36px;display:flex}.mnist-compare-panel h2{margin:0;font-size:32px}.mnist-compare-boxes{justify-content:center;align-items:center;gap:16px;width:100%;margin:12px 0;display:flex}.mnist-compare-box{background:#fdfaf2;border:3px solid #d4b896;border-radius:12px;flex-direction:column;flex:1;gap:12px;padding:16px;display:flex}.mnist-compare-box.round2{background:#f7faee;border-color:#6b8e3a}.mnist-compare-box h3{color:#8b6332;margin:0 0 4px;font-size:24px}.mnist-compare-box.round2 h3{color:#4a6b1f}.mnist-compare-stat{justify-content:space-between;align-items:center;font-size:18px;display:flex}.mnist-stat-label{color:#6b3e15}.mnist-stat-value{font-weight:700}.mnist-stat-value.highlight{color:#a05a18;font-size:22px}.mnist-compare-box.round2 .mnist-stat-value.highlight{color:#4a6b1f}.mnist-compare-arrow{opacity:.5;font-size:32px}.mnist-next-button{min-width:220px;margin-top:8px;font-size:22px}.mnist-log-panel{flex-direction:column;gap:12px;padding:18px 20px;display:flex}.mnist-panel-head{justify-content:space-between;align-items:center;display:flex}.mnist-badge{color:#fff;background:#6b8e3a;border-radius:20px;padding:4px 14px;font-size:14px;font-weight:700}.mnist-note-card{background:#f5e6c8;border:2px solid #d4b896;border-radius:12px;padding:14px 18px}.mnist-note-card p{color:#6b3e15;margin:0;font-size:17px;line-height:1.6}.mnist-collect-side{flex-direction:column;gap:14px;padding:18px 20px;display:flex}.mnist-numpad{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.mnist-numpad-btn{cursor:pointer;background:#f5e6c8;border:3px solid #a67c52;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;transition:all .2s;display:flex}.mnist-numpad-btn:hover:not(:disabled){background:#e8d4a8;transform:translateY(-1px)}.mnist-numpad-btn.selected{color:#fff;background:#6b8e3a;border-color:#4a6b1f}.mnist-numpad-btn.selected .mnist-numpad-count{color:#d4e8b4}.mnist-numpad-btn.full{opacity:.5;cursor:not-allowed;background:#d4c8a8}.mnist-numpad-digit{font-size:24px;font-weight:700;line-height:1}.mnist-numpad-count{color:#a67c52;font-size:12px}.mnist-board{flex:1;grid-template-columns:minmax(0,1.18fr) minmax(360px,.98fr);align-items:stretch;gap:22px;min-height:0;display:grid}.mnist-panel{background:linear-gradient(#fff7e6f2 0%,#f5e0bbf2 100%);border:4px solid #a67c52;border-radius:18px;box-shadow:inset 0 0 0 4px #ffffff38}.mnist-draw-panel,.mnist-result-panel,.mnist-log-panel{flex-direction:column;display:flex}.mnist-draw-panel{align-self:stretch;gap:18px;height:100%;padding:20px}.mnist-side-column{grid-template-rows:minmax(0,1.1fr) minmax(0,.9fr);align-content:stretch;align-self:stretch;gap:18px;height:100%;min-height:100%;display:grid}.mnist-result-panel{box-sizing:border-box;align-self:stretch;gap:18px;height:100%;padding:22px 24px}.mnist-log-panel{align-self:stretch;gap:14px;height:100%;padding:18px 22px}.mnist-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mnist-panel-head h2{margin:4px 0 0;font-size:24px}.mnist-panel-kicker{color:#b06a25;letter-spacing:1.2px;margin:0;font-size:12px}.mnist-badge,.mnist-status{white-space:nowrap;border:3px solid #8b6332;border-radius:999px;padding:7px 12px;font-size:13px}.mnist-badge{background:#fff5d7f2}.mnist-status.idle{color:#4a6b1f;background:#c2dd84e6;border-color:#6b8e3a}.mnist-status.loading{color:#7a4a12;background:#f9d37be6;border-color:#c8822a}.mnist-status.error{color:#7a1717;background:#f5bbb3e6;border-color:#b73b2d}.mnist-status.success{color:#124d7d;background:#98d0f5e6;border-color:#206daf}.mnist-canvas-shell{background:linear-gradient(#26203ef5 0%,#171429fa 100%);border:4px solid #6b3e15;border-radius:20px;flex:none;height:500px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 6px #ffffff14}.mnist-canvas-grid{position:absolute;inset:0}.mnist-draw-canvas{box-sizing:border-box;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background-color:#fff;background-image:linear-gradient(#b19a6e2e 1px,#0000 1px),linear-gradient(90deg,#b19a6e2e 1px,#0000 1px),none;background-position:10px 10px;background-repeat:repeat,repeat,repeat;background-size:calc(3.57143% - .714286px) calc(3.57143% - .714286px);background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:100%;height:100%;padding:10px;display:block;position:relative}.mnist-action-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.mnist-action-button{width:100%;min-height:62px;font-size:22px}.mnist-action-button:disabled{opacity:.7;cursor:not-allowed;filter:grayscale(.15)}.mnist-tip-box,.mnist-note-card{background:#fff9edc7;border:3px dashed #b98850;border-radius:14px;padding:16px 18px}.mnist-tip-title{color:#8b4d16;margin:0 0 10px;font-size:18px}.mnist-tip-list{flex-direction:column;gap:8px;margin:0;padding-left:20px;font-size:15px;line-height:1.55;display:flex}.mnist-highlight-card{color:#4a2a0a;box-sizing:border-box;background:linear-gradient(#f9d37b 0%,#e39a39 100%);border:4px solid #7a4a12;border-radius:18px;flex-direction:column;justify-content:space-between;padding:18px 20px;display:flex;box-shadow:inset 0 2px #ffffff47}.mnist-highlight-label{margin:0 0 8px;font-size:14px}.mnist-highlight-main{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.mnist-highlight-main strong{font-size:88px;line-height:.9}.mnist-highlight-main span{padding-bottom:10px;font-size:20px}.mnist-highlight-copy{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:12px 0 0;font-size:15px;line-height:1.6;display:-webkit-box;overflow:hidden}.mnist-ranking{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;padding:4px 2px 0;display:grid}.mnist-rank-item{background:#fffcf4e6;border:3px solid #a67c52;border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:18px 12px 16px;display:flex;box-shadow:0 4px #6b3e1524}.mnist-rank-order{color:#8b6332;text-align:center;font-size:12px}.mnist-rank-digit{font-size:42px;line-height:1}.mnist-rank-score{color:#6b8e3a;text-align:center;font-size:16px}.mnist-note-card{font-size:15px;line-height:1.6}.mnist-note-card p{margin:0}.mnist-note-card p+p{margin-top:8px}@media (width<=980px){.mnist-layout{width:min(960px,98%);padding-inline:20px}.mnist-hero{flex-direction:column;align-items:flex-start}.mnist-description{max-width:none}.mnist-board{grid-template-columns:1fr;align-items:start}.mnist-side-column{grid-template-rows:auto auto;height:auto;min-height:0}.mnist-draw-panel,.mnist-result-panel,.mnist-log-panel{height:auto}}@media (width<=720px){.mnist-action-row,.mnist-ranking{grid-template-columns:1fr}.mnist-highlight-main{flex-direction:column;align-items:flex-start}}
