*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.my-3{margin-top:.75rem;margin-bottom:.75rem}.flex{display:flex}.grid{display:grid}.h-2\.5{height:.625rem}.h-48{height:12rem}.h-full{height:100%}.w-2\.5{width:.625rem}.w-36{width:9rem}.w-full{width:100%}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border-4{border-width:4px}.object-contain{-o-object-fit:contain;object-fit:contain}.p-4{padding:1rem}.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)}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#241c3c;background:#f6f5fc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{color:#f6f3ff;background:#0c1020}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--page)}button,select{font:inherit}button{cursor:pointer}#root{min-height:100vh}:root{--page:#f6f5fc;--surface:#fffdf9;--surface-muted:#f7f2ff;--header:#14182e;--ink:#241c3c;--muted:#625b7e;--subtle:#8b84a5;--yellow:#ffce3b;--yellow-ink:#2d241b;--purple:#6e1df5;--purple-soft:rgba(110,29,245,.1);--teal:#1d8692;--border:rgba(223,217,244,.72);--border-strong:rgba(223,217,244,.92);--shadow:0 12px 20px rgba(12,16,32,.08)}:root[data-theme=dark]{--page:#0c1020;--surface:#14182e;--surface-muted:#1c2242;--header:#0a0d1a;--ink:#f6f3ff;--muted:#c9c3dc;--subtle:#9b95af;--purple-soft:rgba(110,29,245,.15);--teal:#2f9aa6;--border:rgba(73,66,122,.34);--border-strong:rgba(73,66,122,.58);--shadow:0 12px 20px rgba(5,8,20,.14)}.app-shell{width:100%;min-width:0;min-height:100vh;padding:16px;overflow-x:hidden;background:var(--page)}.app-frame{width:min(680px,100%);min-width:0;margin:0 auto;display:grid;gap:20px}.app-frame>*{min-width:0}.app-header{min-height:58px;padding:10px 14px;border-radius:16px;background:var(--header);display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:var(--shadow)}.brand-logo{display:block;width:126px;height:auto}.brand-symbol{display:none;width:30px;height:30px;-o-object-fit:contain;object-fit:contain}.header-actions{display:flex;align-items:center;gap:6px}.icon-control{min-width:38px;height:38px;border:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#fff;background:#ffffff1f;transition:background .15s,transform .15s}.icon-control:hover{background:#fff3;transform:translateY(-1px)}.language-menu{position:relative}.language-trigger{min-width:68px;padding:0 9px;font-size:12px;font-weight:700}.language-options{position:absolute;z-index:20;top:calc(100% + 8px);right:0;min-width:104px;display:grid;gap:3px;padding:6px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:var(--header);box-shadow:0 14px 30px #05081457}.language-options button{min-height:36px;border:0;border-radius:10px;color:#f6f3ff;background:transparent;text-align:left;padding:0 12px;font-size:12px;font-weight:700;letter-spacing:.4px}.language-options button:hover,.language-options button.is-active{color:var(--yellow-ink);background:var(--yellow)}.logout-control{padding:0 10px;font-size:13px;font-weight:700}.hero{padding:4px 4px 0}.eyebrow{margin:0 0 8px;color:var(--purple);font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.hero h1,h1{margin:0 0 8px;color:var(--ink);font-size:clamp(25px,7vw,30px);line-height:1.15}.hero-copy,.field-help{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.panel{min-width:0;padding:20px;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.field-label{display:block;margin-bottom:12px;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.deck-picker{min-width:0;max-width:100%;display:flex;gap:12px;overflow-x:auto;padding:4px 2px 10px;margin:0 0 8px;scrollbar-width:thin}.deck-picker>div{flex:0 0 auto}.deck-panel{padding:12px}.deck-layout{display:grid;grid-template-columns:1fr;gap:16px}.deck-workspace,.reading-zone{min-width:0;border:1px solid var(--border);border-radius:22px;background:var(--surface-muted);overflow:hidden}.deck-canvas{position:relative;height:400px;overflow:hidden;background:radial-gradient(circle at top,var(--purple-soft),transparent 52%)}.reading-column{min-width:0}.reading-zone{position:relative;min-height:340px;padding:14px;border-style:dashed;transition:.2s}.reading-zone.is-over{border-color:var(--teal);box-shadow:0 0 0 2px #2f9aa62e}.reading-canvas{position:relative;height:290px;overflow:hidden}.zone-label{position:absolute;z-index:2;margin:0;color:var(--subtle);font-size:11px;line-height:1;letter-spacing:.9px;font-weight:700;text-transform:uppercase}.deck-canvas>.zone-label{top:16px;left:16px}.reading-zone>.zone-label{top:16px;left:16px}.revealed-card{display:flex;width:144px;height:288px;padding:16px;flex-direction:column;justify-content:space-between;border:4px solid;border-radius:12px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:left}.revealed-card h3{margin:12px 0 0;font-size:18px;line-height:1.15}.revealed-card p:last-child{margin:0;color:var(--muted);font-size:14px;line-height:1.4}.card-accent{width:48px;height:8px;border-radius:999px}.rarity-label{margin:12px 0 0;color:var(--subtle);font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.login-page,.status-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top right,#6e1df5 0,transparent 35%),#0c1020}.login-card{width:min(420px,100%);display:grid;gap:28px;padding:32px 26px;border:1px solid rgba(255,255,255,.14);border-radius:28px;color:#f6f3ff;background:#14182e;box-shadow:0 20px 50px #00000040}.login-logo{width:min(220px,72%)}.login-card .eyebrow{color:#ffce3b}.login-card h1{color:#f6f3ff}.login-card p:not(.eyebrow){margin:0;color:#c9c3dc;line-height:1.5}.primary-button{min-height:50px;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:14px;color:#2d241b;background:#ffce3b;font-weight:700}.status-page{color:#f6f3ff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.catalog-page{display:grid;gap:20px;min-width:0}.page-heading h1,.detail-heading h1{margin:0 0 8px}.catalog-filters,.deck-toolbar{display:flex;flex-wrap:wrap;gap:10px}.search-field{flex:1 1 220px;min-width:0;height:46px;display:flex;align-items:center;gap:9px;padding:0 14px;border:1px solid var(--border-strong);border-radius:14px;color:var(--subtle);background:var(--surface)}.search-field input{min-width:0;width:100%;border:0;outline:0;color:var(--ink);background:transparent}.filter-button,.segmented-control button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid var(--border-strong);border-radius:14px;color:var(--ink);background:var(--surface);font-size:13px;font-weight:700}.filter-button.is-active,.segmented-control button.is-active{border-color:var(--yellow);color:var(--yellow-ink);background:var(--yellow)}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.deck-catalog-card{overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.deck-cover{min-height:180px;display:block;background:var(--surface-muted) center/cover no-repeat}.deck-card-content{min-height:104px;display:flex;justify-content:space-between;gap:10px;padding:14px}.deck-card-content h2{margin:0 0 6px;color:var(--ink);font-size:17px}.deck-card-content p{margin:0;color:var(--muted);font-size:13px;line-height:1.4}.favorite-button{width:38px;height:38px;flex:0 0 auto;display:inline-grid;place-items:center;border:0;border-radius:12px;color:var(--muted);background:var(--surface-muted)}.favorite-button:hover:not(:disabled){color:#d74c4c}.favorite-button.is-favorite{color:#d74c4c;background:#d74c4c1f}.favorite-button:disabled{cursor:not-allowed;opacity:.45}.back-link{width:-moz-max-content;width:max-content;display:inline-flex;align-items:center;gap:7px;color:var(--purple);font-size:14px;font-weight:700;text-decoration:none}.detail-heading{display:flex;justify-content:space-between;gap:12px}.segmented-control{display:inline-flex;padding:3px;gap:3px;border-radius:16px;background:var(--surface-muted)}.segmented-control button{min-height:38px;border:0;border-radius:12px;background:transparent}.deck-reader{display:grid;justify-items:center;gap:12px;padding:24px 12px;border:1px solid var(--border);border-radius:28px;background:radial-gradient(circle at top,var(--purple-soft),transparent 55%),var(--surface-muted)}.draw-area{display:grid;place-items:center;width:min(100%,330px);min-height:480px;padding:0;border:0;background:transparent}.deck-back{width:260px;max-width:100%;height:410px;display:grid;place-items:center;overflow:hidden;border:4px solid var(--header);border-radius:18px;color:#fff;background:var(--header) center/cover no-repeat;box-shadow:0 14px 26px #05081438}.deck-back span{padding:10px 14px;border-radius:999px;background:#0508149e;font-weight:700}.physical-card{position:relative;width:260px;max-width:100%;min-height:410px;display:flex;flex-direction:column;gap:18px;padding:26px 22px 18px;overflow:hidden;border:2px solid var(--teal);border-radius:20px;color:#252525;background:#fffdf9;box-shadow:0 14px 26px #05081429;text-align:left}.physical-card header{padding-right:34px}.physical-card h2{margin:0;font-size:25px;line-height:1;letter-spacing:.4px;text-transform:uppercase}.physical-card header p{margin:8px 0 0;font-size:15px;font-weight:700}.physical-card .favorite-button{position:absolute;top:14px;right:14px}.card-topics{display:grid;gap:14px}.card-topic{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.3}.card-topic img,.topic-dot{width:30px;height:30px;flex:0 0 auto;border-radius:9px;-o-object-fit:contain;object-fit:contain;background:#dcf1f4}.topic-dot{display:block}.card-logo{width:84px;max-height:38px;margin-top:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:left bottom;object-position:left bottom}.card-logo-text{margin-top:auto;color:var(--subtle);font-size:17px;font-weight:700}.cards-grid-overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));justify-items:center;gap:18px}.page-message{margin:16px 0;color:var(--muted);text-align:center}.error-message{color:#d74c4c}@media (min-width:740px){.app-shell{padding:28px 20px 40px}.deck-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.deck-canvas{height:430px}.reading-zone{min-height:430px}.reading-canvas{height:375px}}@media (max-width:390px){.app-shell{padding:12px}.brand-logo{display:none}.brand-symbol{display:block}.logout-control span{display:none}.logout-control{padding:0}.panel{padding:16px}.deck-panel{padding:10px}.deck-canvas{height:370px}.reading-zone{min-height:320px}.reading-canvas{height:270px}}.deck-back{width:min(260px,100%);height:auto;aspect-ratio:3 / 4}.physical-card{width:min(260px,100%);min-height:0;aspect-ratio:3 / 4;gap:clamp(8px,2.6cqw,18px);padding:clamp(14px,7cqw,26px) clamp(14px,6cqw,22px) 14px;container-type:inline-size}.physical-card header{padding:8px 38px 8px 8px;border:1px dashed var(--teal);border-radius:14px;text-align:center;margin-bottom:10px}.physical-card h2{font-size:clamp(17px,9cqw,25px)}.physical-card header p{margin-top:6px;font-size:clamp(11px,5.5cqw,15px)}.card-topics{gap:clamp(7px,3.2cqw,14px)}.card-topic{gap:9px;font-size:clamp(11px,5.4cqw,14px);line-height:1.22}.topic-media,.topic-emoji{width:clamp(24px,12cqw,30px);height:clamp(24px,12cqw,30px);flex:0 0 auto;border-radius:9px;-o-object-fit:contain;object-fit:contain;background:#dcf1f4}.topic-emoji{display:flex;width:auto;min-width:clamp(24px,12cqw,30px);align-items:center;justify-content:center;padding:0;white-space:nowrap;letter-spacing:-.16em;font-size:clamp(16px,9cqw,24px);line-height:1;background:transparent}.physical-card.is-dense{gap:8px;padding-top:16px}.physical-card.is-dense .card-topics{gap:6px}.physical-card.is-dense .card-topic{font-size:clamp(10px,4.8cqw,12px);line-height:1.15}.physical-card.is-dense .topic-media{width:24px;height:24px}.physical-card.is-dense .topic-emoji{width:auto;min-width:24px;height:24px}.card-logo{align-self:center;margin-left:auto;margin-right:auto;-o-object-position:center bottom;object-position:center bottom}.card-logo-text{align-self:center;text-align:center}.deck-stack{position:relative;isolation:isolate;width:min(360px,100%);display:grid;justify-items:center;padding-bottom:18px}.deck-stack:before,.deck-stack:after{position:absolute;z-index:-1;width:min(260px,calc(100% - 18px));aspect-ratio:3 / 4;content:"";border:4px solid var(--header);border-radius:18px;background:var(--header) var(--deck-cover) center/cover no-repeat;box-shadow:0 14px 26px #0508142e}.deck-stack:before{top:9px;left:50%;opacity:.9;transform:translate(calc(-50% + 9px))}.deck-stack:after{top:18px;left:50%;opacity:.72;transform:translate(calc(-50% + 18px))}.deck-stack>.deck-back,.deck-stack>.physical-card{position:relative;z-index:1}.deck-stack>.physical-card{touch-action:pan-y}.deck-nav-arrow{position:absolute;z-index:2;top:50%;width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fff;background:#0a0d1ab8;box-shadow:0 4px 12px #05081447;transform:translateY(-50%)}.deck-nav-arrow:hover{background:var(--purple)}.deck-nav-previous{left:0}.deck-nav-next{right:0}.deck-navigation-hint{max-width:360px;padding:9px 12px;border:1px solid var(--border-strong);border-radius:12px;color:var(--muted);background:var(--surface);font-size:12px;line-height:1.4;text-align:center}@media (max-width:1023px){.app-shell{padding-bottom:92px}.deck-toolbar{position:fixed;z-index:10;right:12px;bottom:12px;left:12px;flex-wrap:nowrap;align-items:center;justify-content:center;gap:6px;padding:7px;border:1px solid var(--border-strong);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 12px 28px #05081440;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.deck-toolbar .segmented-control{flex:0 0 auto;padding:2px;border-radius:12px}.deck-toolbar .filter-button,.deck-toolbar .segmented-control button{min-width:38px;min-height:38px;padding:0 10px;border-radius:11px}.deck-toolbar .segmented-control button{padding:0 9px}.deck-toolbar span{display:none}}@media (min-width:600px) and (max-width:1023px){.deck-toolbar .filter-button,.deck-toolbar .segmented-control button{padding:0 12px}.deck-toolbar span{display:inline}}.active\:cursor-grabbing:active{cursor:grabbing}
