@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(../media/poppins-latin-500-normal.25i40p8naznea.woff2)format("woff2"),url(../media/poppins-latin-500-normal.1ca8t586iof23.woff)format("woff")}
@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(../media/poppins-latin-600-normal.2jsr8pt-l398u.woff2)format("woff2"),url(../media/poppins-latin-600-normal.10xpv_fqg6qm3.woff)format("woff")}
@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(../media/poppins-latin-700-normal.3ci4wwoppl422.woff2)format("woff2"),url(../media/poppins-latin-700-normal.3l92ypskwypxq.woff)format("woff")}
@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-400-normal.37baup9wa8gsy.woff2)format("woff2"),url(../media/jetbrains-mono-latin-400-normal.27_azdahucoj5.woff)format("woff")}
@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-ext-400-normal.2osyrgmzpqw_0.woff2)format("woff2"),url(../media/jetbrains-mono-latin-ext-400-normal.3vtl6hswl5p-t.woff)format("woff")}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{background:var(--colors-bg-primary);height:100%}body{max-width:100vw;min-height:100%;color:var(--colors-fg-primary);background:var(--colors-bg-primary);font-family:var(--typography-fontFamily-sans);font-size:var(--typography-fontSize-base);line-height:var(--typography-lineHeight-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex;overflow-x:hidden}html:has([data-login-page]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111827}body:has([data-login-page]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111827}body:has([data-login-page]) .pwa-top-inset{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111827}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:var(--document-touch-action,manipulation);margin:0;padding:0}.pwa-top-inset{height:max(1px, env(safe-area-inset-top,0px));background:var(--colors-bg-primary);pointer-events:none;z-index:var(--zIndex-sticky);display:none;position:fixed;top:0;left:0;right:0}html[data-pwa-zoom-locked] .pwa-top-inset{display:block}@media (display-mode:standalone){.pwa-top-inset{display:block}:root{--document-touch-action:pan-x pan-y}input,textarea,select,[contenteditable=true]{font-size:max(16px,1em)!important}}html[data-pwa-zoom-locked]{--document-touch-action:pan-x pan-y}html[data-pwa-zoom-locked] :is(input,textarea,select,[contenteditable=true]){font-size:max(16px,1em)!important}.card,.card *,input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}input,textarea,select,[contenteditable=true]{-webkit-touch-callout:default}a{color:var(--colors-fg-link);text-decoration:none}a:hover{color:var(--colors-fg-linkHover)}a>svg,button>svg{pointer-events:none}.jp{font-family:"Noto Sans JP Variable", var(--typography-fontFamily-sans)}.mono{font-family:var(--typography-fontFamily-mono)}:focus-visible{outline:2px solid var(--colors-border-focus);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--colors-bg-primary)}::-webkit-scrollbar-thumb{background:var(--colors-border-primary);border-radius:var(--radii-full)}::-webkit-scrollbar-thumb:hover{background:var(--colors-border-secondary)}.btn{font-weight:var(--typography-fontWeight-medium);border-radius:var(--radii-lg);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;font-family:inherit;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--colors-accent-primary);color:var(--palette-white);height:var(--components-button-md-height);padding:0 var(--components-button-md-px);font-size:var(--components-button-md-fontSize)}.btn-primary:hover:not(:disabled){background:var(--colors-accent-primaryHover);color:var(--palette-white)}.btn-secondary{background:var(--colors-bg-tertiary);color:var(--colors-fg-primary);border-color:var(--colors-border-primary);height:var(--components-button-md-height);padding:0 var(--components-button-md-px);font-size:var(--components-button-md-fontSize)}.btn-secondary:hover:not(:disabled){background:var(--colors-bg-elevated);border-color:var(--colors-border-secondary);color:var(--colors-fg-primary)}.btn-danger{background:var(--colors-status-errorSubtle);color:var(--colors-status-error);height:var(--components-button-md-height);padding:0 var(--components-button-md-px);font-size:var(--components-button-md-fontSize)}.btn-danger:hover:not(:disabled){background:var(--colors-status-error);color:var(--palette-white)}.btn-sm{height:var(--components-button-sm-height);padding:0 var(--components-button-sm-px);font-size:var(--components-button-sm-fontSize)}.btn-lg{height:var(--components-button-lg-height);padding:0 var(--components-button-lg-px);font-size:var(--components-button-lg-fontSize)}.btn-xl{height:var(--components-button-xl-height);padding:0 var(--components-button-xl-px);font-size:var(--components-button-xl-fontSize)}.input{background:var(--colors-input-bg);width:100%;color:var(--colors-fg-primary);border:1px solid var(--colors-border-primary);border-radius:var(--radii-lg);height:var(--components-input-md-height);padding:0 var(--components-input-md-px);font-size:var(--components-input-md-fontSize);font-family:inherit}select.input{padding-right:calc(var(--components-input-md-px) + .5rem)}.input:hover{border-color:var(--colors-input-borderHover)}.input:focus{border-color:var(--colors-input-borderFocus);box-shadow:var(--shadows-focus);outline:none}.input::placeholder{color:var(--colors-input-placeholder)}.input-error{border-color:var(--colors-border-error)}.input-error:focus{box-shadow:var(--shadows-focusError)}.textarea{background:var(--colors-input-bg);width:100%;color:var(--colors-fg-primary);border:1px solid var(--colors-border-primary);border-radius:var(--radii-lg);padding:var(--spacing-3) var(--components-input-md-px);font-size:var(--components-input-md-fontSize);resize:vertical;min-height:6rem;font-family:inherit}.textarea:hover{border-color:var(--colors-input-borderHover)}.textarea:focus{border-color:var(--colors-input-borderFocus);box-shadow:var(--shadows-focus);outline:none}.textarea::placeholder{color:var(--colors-input-placeholder)}.card{background:var(--colors-bg-secondary);border:1px solid var(--colors-border-primary);border-radius:var(--radii-xl);padding:var(--spacing-5);box-shadow:var(--shadows-cardRest)}.badge{padding:var(--spacing-0-5) var(--spacing-2);border-radius:var(--radii-full);font-size:var(--typography-fontSize-xs);font-weight:var(--typography-fontWeight-medium);line-height:var(--typography-lineHeight-none);align-items:center;display:inline-flex}.badge-neutral{background:var(--colors-badge-neutralBg);color:var(--colors-badge-neutralFg)}.badge-success{background:var(--colors-status-successSubtle);color:var(--colors-status-success)}.badge-warning{background:var(--colors-status-warningSubtle);color:var(--colors-status-warning)}.badge-error{background:var(--colors-status-errorSubtle);color:var(--colors-status-error)}.badge-info{background:var(--colors-status-infoSubtle);color:var(--colors-status-info)}.text-secondary{color:var(--colors-fg-secondary)}.text-tertiary{color:var(--colors-fg-tertiary)}.text-disabled{color:var(--colors-fg-disabled)}.container{width:100%;max-width:var(--components-container-lg);padding:0 var(--spacing-4);margin:0 auto}.page{padding:var(--spacing-4) 0;flex:1}.page-header{margin-bottom:var(--spacing-6)}.page-title{font-family:var(--typography-fontFamily-display);font-size:var(--typography-fontSize-2xl);font-weight:var(--typography-fontWeight-bold);line-height:var(--typography-lineHeight-tight);letter-spacing:var(--typography-letterSpacing-tight)}.page-subtitle{font-size:var(--typography-fontSize-base);color:var(--colors-fg-secondary);margin-top:var(--spacing-1)}.skeleton{background:var(--colors-skeleton-base);border-radius:var(--radii-md)}.skeleton-study-header{align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-4);flex-shrink:0;padding:0;display:flex}.skeleton-study-header__back{border-radius:var(--radii-lg);flex-shrink:0;width:2.25rem;height:2.25rem}.skeleton-study-header__deckname{border-radius:var(--radii-sm);width:5rem;height:.875rem}.skeleton-study-header__cards{border-radius:var(--radii-lg);width:3.5rem;height:2.25rem;margin-left:auto}.skeleton-study-body{flex:1;min-height:0}.skeleton-study-toolbar{gap:var(--spacing-2);padding:var(--spacing-2) 0;flex-shrink:0;display:flex}.skeleton-study-toolbar__btn{border-radius:var(--radii-lg);width:2.5rem;height:2.5rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}
