:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;color:#1a1a1a;background:#f6f7f9;--primary: #1f4e79;--border: #b8c2cc;--danger: #b00020}body{margin:0}main{max-width:48rem;margin:0 auto;padding:1.25rem 1rem 6rem;box-sizing:border-box;width:100%}h1{font-size:1.5rem;margin:.25rem 0 1rem}.main-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid var(--border);z-index:10}.main-nav a{flex:1;display:flex;flex-direction:column;align-items:center;padding:.5rem 0 .6rem;color:#444;text-decoration:none;font-size:.85rem}.main-nav a.active{color:var(--primary);font-weight:600}@media(min-width:900px){.layout{display:flex}.main-nav{position:sticky;top:0;height:100vh;flex-direction:column;width:11rem;border-top:none;border-right:1px solid var(--border);padding-top:1rem}.main-nav a{flex:none;flex-direction:row;gap:.5rem;padding:.75rem 1.25rem;font-size:1rem}main{padding-bottom:2rem}}input,select,button,.button{font:inherit;padding:.6rem .8rem;border-radius:.5rem;border:1px solid var(--border);box-sizing:border-box}input,select{width:100%;background:#fff}button,.button{background:var(--primary);color:#fff;border-color:var(--primary);cursor:pointer;text-decoration:none;display:inline-block}button.secondary{background:#fff;color:var(--primary)}button.danger{background:#fff;color:var(--danger);border-color:var(--danger)}button:disabled{opacity:.6;cursor:default}:focus-visible{outline:3px solid #ffd166;outline-offset:2px}.error{color:var(--danger)}.empty{color:#666}.row,.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}label,.label{font-weight:600;font-size:.9rem}.login form,.inline-form,.card-form{display:flex;flex-direction:column;gap:.5rem}.inline-form{background:#fff;border:1px solid var(--border);border-radius:.75rem;padding:.75rem;margin-bottom:1rem}.breadcrumbs{font-size:.9rem;color:#555}.breadcrumbs a{color:var(--primary)}.list{list-style:none;padding:0;margin:0 0 1rem;background:#fff;border:1px solid var(--border);border-radius:.75rem;overflow:hidden}.list li+li{border-top:1px solid #e3e7eb}.item{display:flex;align-items:center;gap:.5rem;padding:.8rem 1rem;color:inherit;text-decoration:none}.item:hover{background:#f0f4f8}.item .name{flex:1;font-weight:600}.item .count{color:#666;font-size:.85rem}.reorder-row{display:flex;align-items:center}.reorder-row .item{flex:1;min-width:0}.reorder-row .item:hover{background:none}.order-buttons{display:flex;gap:.25rem;padding-right:.5rem}.order-buttons button{min-width:2.75rem;min-height:2.75rem;padding:0;font-size:1.2rem;background:#fff;color:var(--primary)}.hint{margin:0;align-self:center;color:#555;font-size:.9rem}.editor{border:1px solid var(--border);border-radius:.5rem;background:#fff}.toolbar{display:flex;flex-wrap:wrap;gap:.25rem;padding:.4rem;border-bottom:1px solid #e3e7eb}.tool{background:#fff;color:#222;border-color:#d5dbe1;min-width:2.5rem;padding:.35rem .6rem}.tool[aria-pressed=true]{background:#dbe7f3;border-color:var(--primary)}.tool.b{font-weight:700}.tool.i{font-style:italic}.tool.u{text-decoration:underline}.tool.hl{background:#fff3a3}.editor-content{min-height:12rem;padding:.75rem;outline:none}.editor-content p{margin:0 0 .5rem}mark{background:#fff3a3}.summary{background:#fff;border:1px solid var(--border);border-radius:.75rem;padding:1.25rem}.big{font-size:1.3rem;font-weight:600;margin:0 0 .5rem}.big .number{font-size:2.5rem;color:var(--primary)}.breakdown{margin:0 0 1rem;padding-left:1.2rem}.notice{background:#fff8e1;border:1px solid #f0d58a;border-radius:.5rem;padding:.6rem .8rem}.big-button{display:block;width:100%;text-align:center;font-size:1.1rem;padding:.9rem}.session-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:#555}.session-top .exit{margin-left:auto;color:var(--primary)}.badge{font-size:.8rem;padding:.1rem .5rem;border-radius:1rem;background:#dbe7f3;color:var(--primary)}.badge.warn{background:#fde2e1;color:#8a1c14}.flashcard{background:#fff;border:1px solid var(--border);border-radius:.75rem;padding:1.25rem;margin-bottom:1rem;min-height:8rem}.card-path{margin:0 0 .25rem;font-size:.85rem;color:#666}.viewer-content{border-top:1px solid #e3e7eb;padding-top:.75rem;outline:none}.viewer-content p{margin:0 0 .5rem}.ratings{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}@media(min-width:600px){.ratings{grid-template-columns:repeat(4,1fr)}}.rating{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.75rem .5rem;min-height:3.5rem;color:#fff;border:none}.rating-label{font-weight:600}.rating-next{font-size:.85rem;opacity:.9}.rating.r1{background:#a3261b}.rating.r2{background:#a85400}.rating.r3{background:#2e7031}.rating.r4{background:#1f4e79}.shortcuts{font-size:.8rem;color:#666;text-align:center}@media(hover:none){.shortcuts{display:none}}h2{font-size:1.15rem;margin:2rem 0 .5rem}.settings-form{display:flex;flex-direction:column;gap:.5rem;background:#fff;border:1px solid var(--border);border-radius:.75rem;padding:1rem}.settings-form fieldset{border:none;padding:0;margin:0 0 .75rem}.settings-form legend{font-weight:600;font-size:.9rem}.settings-form input[type=number]{max-width:8rem}.weekdays{display:grid;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.25rem 1rem}.check{display:flex;align-items:center;gap:.5rem;font-weight:400;font-size:1rem;min-height:2.75rem}.check input{width:1.25rem;height:1.25rem}.backup{margin-top:2rem}.backup h2{margin-top:0}.progress-summary{background:#fff;border:1px solid var(--border);border-radius:.75rem;padding:.75rem 1rem;margin-bottom:1rem}.progress-summary .progress-bar{height:.75rem}.progress-bar{display:flex;height:.4rem;border-radius:1rem;overflow:hidden;background:#e3e7eb;margin-top:.3rem}.item .count{display:flex;flex-direction:column;align-items:flex-end;min-width:9rem;text-align:right}.item .count .progress-bar{width:100%}.seg.mature,.dot.mature{background:#2e7031}.seg.learning,.dot.learning{background:#e0a030}.seg.new,.dot.new{background:#b8c2cc}.legend{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;padding:0;margin:.5rem 0 0;font-size:.9rem}.dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;vertical-align:baseline}.study-more{border-top:1px solid #e3e7eb;margin-top:1rem;padding-top:.5rem}.study-more h2{margin-top:.5rem}.button.secondary-link{background:#fff;color:var(--primary)}.ratings.two{grid-template-columns:1fr 1fr}.folder-checklist{list-style:none;padding:0;margin:0;max-height:22rem;overflow-y:auto}
