@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&family=Noto+Serif+JP:wght@500;600;700&display=swap";:root{color:#29263a;font-synthesis:none;text-rendering:optimizelegibility;background:#f8f7fb;font-family:DM Sans,Noto Sans KR,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}.app{min-height:100vh}.sidebar{z-index:3;background:#fff;border-right:1px solid #eeedf3;flex-direction:column;width:238px;padding:27px 17px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#666174;align-items:center;gap:12px;padding:2px 9px 38px;font-size:13px;line-height:1.45;display:flex}.brand b{color:#28253a;font-size:15px}.brand-icon{color:#fff;background:#7868d8;border-radius:13px;place-items:center;width:40px;height:40px;font:700 22px Noto Serif JP;display:grid;box-shadow:0 6px 14px #7868d844}.side-label{letter-spacing:1.3px;color:#aaa6b5;padding:0 11px 11px;font-size:10px;font-weight:700}.nav{text-align:left;color:#716e7e;background:0 0;border-radius:10px;align-items:center;gap:12px;width:100%;margin-bottom:3px;padding:12px;font-size:13px;display:flex}.nav>span{text-align:center;width:18px;font-size:17px}.nav.active{color:#6959cf;background:#f0edff;font-weight:700}.nav i{color:#e37865;background:#ffede9;border-radius:20px;margin-left:auto;padding:3px 7px;font-size:10px;font-style:normal}.side-bottom{margin-top:auto}.offline{color:#7b8077;background:#f6f8f5;border-radius:9px;margin:0 7px 13px;padding:11px;font-size:11px}.green-dot{background:#79bd83;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.main{min-height:100vh;margin-left:238px}.topbar{background:#fff;border-bottom:1px solid #eeedf3;justify-content:space-between;align-items:center;height:66px;padding:0 42px;display:flex}.breadcrumb{color:#5d596d;font-size:12px}.breadcrumb span{color:#c3bfce;padding:0 8px}.top-right{align-items:center;gap:15px;display:flex}.date{color:#858191;font-size:11px}.avatar{color:#7062c2;background:#eae7ff;border-radius:50%;place-items:center;width:31px;height:31px;font:600 13px Noto Serif JP;display:grid}.content{max-width:1180px;margin:auto;padding:30px 42px 10px}.welcome{background:linear-gradient(110deg,#eeebff 0%,#f2efff 57%,#e9e5ff 100%);border-radius:19px;justify-content:space-between;min-height:268px;padding:32px 43px;display:flex;position:relative;overflow:hidden}.eyebrow{letter-spacing:2px;color:#8578d6;margin:0 0 11px;font-size:9px;font-weight:700}.welcome h1,.study-heading h1{letter-spacing:-1.4px;margin:0;font-size:30px;font-weight:700;line-height:1.38}.welcome h1 em{color:#7665d1;font-style:normal}.sub{color:#888497;margin:8px 0 17px;font-size:12px}.primary{color:#fff;background:#7867d7;border-radius:9px;padding:11px 16px;font-size:11px;font-weight:700;box-shadow:0 5px 12px #7867d733}.primary span{padding-left:13px}.hero-art{justify-content:center;align-items:center;width:35%;display:flex;position:relative}.sun{background:#fff9;border-radius:50%;width:170px;height:170px;position:absolute;top:12px;right:17%}.book{text-align:center;color:#fff;background:#897bdf;border-radius:8px 18px 18px 8px;place-content:center;width:107px;height:136px;font:600 45px Noto Serif JP;display:grid;position:relative;transform:rotate(7deg);box-shadow:9px 8px #d1caf7,14px 14px #b6aafa}.book small{font-size:16px}.float{color:#8171d2;font:600 27px Noto Serif JP;position:absolute}.f1{top:18px;left:24%}.f2{bottom:27px;right:4%}.leaf{color:#ce9b78;font-size:17px;position:absolute;top:22%;right:26%}.stats{grid-template-columns:repeat(4,1fr);gap:13px;margin:18px 0;display:grid}.stat{background:#fff;border:1px solid #f0eef4;border-radius:13px;align-items:center;gap:11px;padding:15px 14px;display:flex}.stat-icon{border-radius:10px;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.lav{color:#7a69d4;background:#f0edff}.mint{color:#46a27d;background:#e9f7f1}.pink{color:#e37d6e;background:#fff0ed}.yellow{color:#cf9b2c;background:#fff6df}.stat div{flex-direction:column;gap:3px;display:flex}.stat small{color:#8d8997;font-size:10px}.stat b{font-size:19px}.stat div>span{color:#b1aeb9;font-size:9px}.dash-grid{grid-template-columns:1.2fr 1fr;gap:15px;display:grid}.panel{background:#fff;border:1px solid #f0eef4;border-radius:13px;padding:19px}.panel-head{justify-content:space-between;align-items:flex-start;display:flex}.panel h2,.recent h2,.manage-card h2{margin:0 0 4px;font-size:14px}.panel-head p,.recent p,.manage-card>p{color:#a19dab;margin:0;font-size:10px}.text-btn{color:#7b6bd1;background:0 0;font-size:10px}.grade-row{grid-template-columns:37px 1fr 44px;align-items:center;gap:10px;margin:16px 0;display:grid}.grade-row small{text-align:right;color:#9d99a6;font-size:10px}.bar{background:#f1eff5;border-radius:8px;height:7px;overflow:hidden}.bar span{background:linear-gradient(90deg,#9e90eb,#7463d1);border-radius:8px;height:100%;display:block}.disclaimer{color:#aaa6b1;border-top:1px solid #f2f0f5;margin-top:18px;padding-top:11px;font-size:9px}.sparkle{color:#a99bea}.quick-panel>button{text-align:left;background:#fbfaff;border:1px solid #f0eef7;border-radius:10px;align-items:center;gap:11px;width:100%;margin-top:11px;padding:11px;display:flex}.quick-icon{border-radius:10px;place-items:center;width:35px;height:35px;font:600 15px Noto Serif JP;display:grid}.lavender{color:#7b6bd1;background:#eeebff}.peach{color:#dc906e;background:#fff0e9}.quick-panel button>span:nth-child(2){flex-direction:column;flex:1;gap:4px;display:flex}.quick-panel button small{color:#a09ca9;font-size:9px}.quick-panel button strong{color:#a8a3b4}.recent{background:#fff;border:1px solid #f0eef4;border-radius:13px;justify-content:space-between;align-items:center;margin-top:15px;padding:16px 19px;display:flex}.recent>span{color:#9691a3;font-size:10px}.study-heading{justify-content:space-between;align-items:flex-end;margin:5px 0 19px;display:flex}.study-heading h1{font-size:26px}.study-controls{align-items:center;gap:12px;display:flex}.study-controls label,.audio-bar label{color:#9792a2;align-items:center;gap:6px;font-size:10px;display:flex}select{color:#5e596c;background:#fff;border:1px solid #e8e6ee;border-radius:7px;padding:8px 25px 8px 10px;font-size:10px}.toggle{color:#726d80;background:#fff;border:1px solid #e7e4ef;border-radius:7px;padding:8px 10px;font-size:10px}.toggle.on{color:#7161cb;background:#eeebff;border-color:#dcd6ff}.filters{align-items:center;gap:9px;margin-bottom:16px;display:flex}.segmented{background:#eeedf3;border-radius:8px;padding:3px;display:flex}.segmented button,.form-row button{color:#888494;background:0 0;border-radius:6px;padding:7px 15px;font-size:10px}.segmented .selected,.form-row .selected{color:#6c5ac9;background:#fff;font-weight:700;box-shadow:0 1px 5px #27204412}.filters>select{min-width:91px}.search{color:#aaa6b4;background:#fff;border:1px solid #e8e6ee;border-radius:8px;align-items:center;gap:8px;margin-left:auto;padding:0 10px;display:flex}.search input{border:0;outline:0;width:145px;height:33px;font-size:10px}.card-area{max-width:730px;margin:0 auto}.card-count{color:#8c8798;justify-content:space-between;padding:1px 3px 9px;font-size:10px;display:flex}.card-count i{color:#c3bfcb;padding:0 4px;font-style:normal}.flashcard{cursor:pointer;background:#fff;border:1px solid #ebe9f1;border-radius:17px;place-items:center;min-height:325px;padding:27px;display:grid;position:relative;box-shadow:0 7px 22px #29204409}.favorite{color:#d5d2dd;background:0 0;font-size:19px;position:absolute;top:15px;right:17px}.favorite.is-fav{color:#e9ae49}.front{text-align:center}.card-kicker{letter-spacing:1.5px;color:#aaa5b7;font-size:10px}.jp-title{color:#2c293a;margin:19px 0 15px;font:600 47px Noto Serif JP,serif}.sound{color:#7668cf;background:#faf9fc;border:1px solid #efedf5;border-radius:20px;padding:8px 14px;font-size:12px}.sound span{color:#817b92;margin-left:4px;font-size:10px}.flip-hint{text-align:center;color:#b0acb8;font-size:9px;position:absolute;bottom:17px;left:0;right:0}.flip-hint span{margin-left:7px}.back{align-self:start;width:100%}.reading{color:#8475d5;font-size:13px}.back h2{margin:4px 0 12px;font-size:20px}.note,.similar{color:#686477;background:#f8f6ff;border-radius:7px;margin:6px 0;padding:9px;font-size:10px}.similar{background:#fff8ed}.examples{grid-template-columns:1fr 1fr;gap:9px;margin-top:10px;display:grid}.example{border:1px solid #efedf3;border-radius:9px;padding:10px}.example>div{justify-content:space-between;align-items:center;display:flex}.ex-label{color:#938ba9;font-size:9px}.mini-sound{background:0 0}.example>b{margin:5px 0;font:500 13px Noto Serif JP;display:block}.example small{color:#8176b3;font-size:9px}.example p{color:#6f6b79;margin:5px 0 0;font-size:10px}.card-actions{justify-content:center;gap:9px;margin:13px;display:flex}.action{border-radius:8px;min-width:105px;padding:10px;font-size:11px;font-weight:700}.action span{padding-left:6px}.unknown{color:#df7e70;background:#fff0ee}.again{color:#c99836;background:#fff7e8}.know{color:#56a17f;background:#eaf7f0}.card-bottom{justify-content:center;gap:27px;display:flex}.card-bottom button{color:#9893a2;background:0 0;font-size:10px}.audio-bar{background:#fff;border:1px solid #efedf3;border-radius:11px;align-items:center;gap:12px;max-width:730px;margin:16px auto 0;padding:12px;display:flex}.audio-icon{color:#8374d6;font-size:19px}.audio-title{flex-direction:column;flex:1;gap:3px;display:flex}.audio-title b{font-size:10px}.audio-title small{color:#aaa6b2;font-size:9px}.audio-bar label{gap:5px}.audio-bar select{padding:6px 16px 6px 7px;font-size:9px}.listen-btn{color:#7464cf;background:#f1efff;border-radius:7px;padding:8px 10px;font-size:9px}.listen-btn.active{color:#fff;background:#7665d1}.empty-state{text-align:center;background:#fff;border:1px solid #efedf3;border-radius:16px;padding:85px 15px}.empty-state>div{color:#a99ce9;font-size:35px}.empty-state h2{font-size:17px}.empty-state p{color:#9a96a4;margin-bottom:17px;font-size:11px}.manage-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.manage-card{flex-direction:column;gap:10px;display:flex}.form-row{background:#f5f4f8;border-radius:8px;align-self:flex-start;gap:8px;padding:3px;display:flex}.manage-card input,.manage-card textarea{border:1px solid #eae8ef;border-radius:7px;outline-color:#a89bea;padding:10px;font-size:11px}.manage-card textarea{resize:vertical;min-height:60px}.wide-btn{text-align:center;color:#5f5a6c;background:#f7f6fb;border:1px solid #eeecf3;border-radius:8px;width:100%;padding:12px;font-size:11px;display:block}.upload{cursor:pointer;position:relative}.upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.csv-info{color:#9994a4;background:#faf9fc;border-radius:7px;padding:10px;font-size:9px;line-height:1.7}.danger{color:#d8756c;background:0 0;margin-top:12px;padding:10px;font-size:10px}.toast{color:#fff;z-index:5;background:#28253a;border-radius:9px;padding:11px 17px;font-size:11px;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #16131d30}footer{text-align:center;color:#aaa6b2;padding:18px;font-size:9px}@media (width<=900px){.sidebar{width:195px}.main{margin-left:195px}.content{padding:25px 24px}.topbar{padding:0 25px}.stats{grid-template-columns:repeat(2,1fr)}}@media (width<=650px){.sidebar{background:#fff;border:0;border-top:1px solid #ebe9f1;flex-direction:row;justify-content:space-around;width:auto;height:61px;padding:5px 7px;display:flex;position:fixed;inset:auto 0 0}.brand,.side-label,.side-bottom{display:none}.nav{text-align:center;border-radius:8px;flex-direction:column;flex:1;justify-content:center;gap:2px;width:auto;margin:0;padding:6px 2px;font-size:8px;display:flex}.nav>span{font-size:16px}.nav i{margin:-22px 0 0 19px;padding:2px 5px;position:absolute}.main{margin-left:0;padding-bottom:60px}.topbar{height:54px;padding:0 16px}.breadcrumb{font-size:10px}.date{font-size:9px}.avatar{width:27px;height:27px}.content{padding:19px 14px 8px}.welcome{min-height:235px;padding:25px 21px}.welcome h1{font-size:24px}.welcome .sub{max-width:210px;font-size:10px;line-height:1.6}.hero-art{transform-origin:100%;width:30%;transform:scale(.75)}.sun{right:0}.book{width:82px;height:112px;font-size:37px}.float.f1{left:0}.stats{gap:8px;margin:12px 0}.stat{gap:7px;padding:11px 9px}.stat-icon{width:29px;height:29px}.stat b{font-size:16px}.stat small{font-size:9px}.stat div>span{font-size:8px}.dash-grid,.manage-grid{grid-template-columns:1fr;gap:10px}.panel{padding:15px}.recent{padding:13px}.recent>span{text-align:right;max-width:125px;font-size:9px}.study-heading{flex-direction:column;align-items:flex-start;gap:8px}.study-heading h1{font-size:23px}.study-controls{justify-content:flex-end;width:100%}.filters{flex-wrap:wrap;gap:6px}.filters>select{min-width:76px;padding:7px 17px 7px 7px}.segmented button{padding:7px 10px}.search{flex:1;min-width:110px}.search input{width:100%;min-width:0}.card-area{width:100%}.flashcard{min-height:300px;padding:22px 14px}.jp-title{font-size:39px}.back h2{font-size:17px}.examples{grid-template-columns:1fr}.example{padding:8px}.example:nth-child(n+2){display:none}.card-actions{gap:6px}.action{flex:1;min-width:0;padding:10px 3px}.audio-bar{flex-wrap:wrap;gap:9px;padding:10px}.audio-title{min-width:95px}.audio-bar label{font-size:9px}.listen-btn{margin-left:auto}.study-heading .sub{margin-bottom:0}footer{padding:13px;font-size:8px}}.settings-button{color:#5748bb;background:#f0edff;border:1px solid #ded8ff;border-radius:9px;min-height:42px;padding:10px 13px;font-weight:700}.front-meaning{color:#504b60;margin:-6px 0 15px;font-size:20px;font-weight:700}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-card{flex-direction:column;gap:16px;display:flex}.settings-card h2{margin:0 0 3px;font-size:18px}.settings-card>label{color:#403b4e;grid-template-columns:minmax(130px,1fr) minmax(150px,1.2fr);align-items:center;gap:12px;font-size:15px;font-weight:650;display:grid}.settings-card input[type=range]{grid-column:1/-1;width:100%;min-height:35px}.settings-card input[type=number]{border:1px solid #ddd9e6;border-radius:8px;width:100%;padding:10px}.settings-card .setting-check{min-height:42px;display:flex}.setting-check input{accent-color:#6856c8;width:22px;height:22px}.nav,.quick-panel button b,.panel h2,.study-heading h1{font-weight:750}.nav{min-height:43px;font-size:14px}.quick-panel button b{font-size:14px}.panel-head p,.recent p,.manage-card>p,.grade-row small,.sub,.date{color:#625d6e}.grade-row b{font-size:14px}.study-controls label,.audio-bar label{color:#514c5e;font-size:13px;font-weight:650}.flashcard{touch-action:manipulation}.action,.card-bottom button,.sound,.listen-btn{min-height:44px}.card-bottom button{padding:8px 12px;font-size:13px}.category-counts{background:#fff;border:1px solid #f0eef4;border-radius:13px;margin-top:14px;padding:18px}.category-counts h2{margin:0 0 12px;font-size:16px}.category-counts h2 small{color:#625d6e;font-size:11px;font-weight:500}.category-count-row{grid-template-columns:1fr 1fr;gap:10px;margin:8px 0;display:grid}.category-count-row span{background:#faf9fc;border-radius:8px;justify-content:space-between;gap:8px;padding:11px;font-size:13px;display:flex}.category-count-row em{color:#514c5e;text-align:right;font-style:normal}html[data-font=large]{font-size:110%}html[data-font=xlarge]{font-size:120%}html[data-contrast=true]{filter:contrast(1.12)}@media (prefers-color-scheme:dark){html[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eeeaf5;background:#171620}html[data-theme=dark] body,html[data-theme=dark] .app{color:#eeeaf5;background:#171620}html[data-theme=dark] .sidebar,html[data-theme=dark] .topbar,html[data-theme=dark] .panel,html[data-theme=dark] .stat,html[data-theme=dark] .recent,html[data-theme=dark] .flashcard,html[data-theme=dark] .audio-bar,html[data-theme=dark] .empty-state{color:#eeeaf5;background:#24222e;border-color:#3b3848}html[data-theme=dark] .jp-title,html[data-theme=dark] .settings-card>label,html[data-theme=dark] .front-meaning,html[data-theme=dark] .breadcrumb,html[data-theme=dark] .nav{color:#f2eff8}html[data-theme=dark] select,html[data-theme=dark] .search,html[data-theme=dark] .toggle{color:#f2eff8;background:#302d3a;border-color:#494556}html[data-theme=dark] .back h2{color:#fff}html[data-theme=dark] .example{border-color:#494556}html[data-theme=dark] .example p,html[data-theme=dark] .example small,html[data-theme=dark] .panel-head p{color:#c6c0d0}html[data-theme=dark] .sidebar .nav.active{color:#c5baff;background:#38324e}@media (width<=650px){.settings-grid{grid-template-columns:1fr}.settings-card>label{grid-template-columns:minmax(105px,1fr) minmax(130px,1.2fr);font-size:14px}.settings-button{min-height:40px;padding:8px 10px}.top-right{gap:7px}.front-meaning{font-size:18px}.category-count-row{grid-template-columns:1fr}.category-count-row span{font-size:12px}.category-counts{padding:14px}}
