:root{--ink:#24332f;--muted:#71807c;--green:#287a61;--green2:#e9f5ef;--cream:#f7f5ef;--line:#dde5e1;--white:#fff;--shadow:0 8px 30px rgba(32,59,50,.08)}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;background:#fbfcfa;font-size:14px}button,input,select{font:inherit}.app-header{height:88px;padding:0 34px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}.app-header>div{display:flex;gap:13px;align-items:center}.logo{display:grid;place-items:center;background:var(--green);color:white;border-radius:14px;width:50px;height:50px;font-weight:800;font-size:13px}.app-header h1,.app-header p{margin:0}.app-header h1{font-size:21px}.app-header p{color:var(--muted);font-size:12px;margin-top:3px}.app-header nav{display:flex;gap:4px;background:var(--cream);border-radius:12px;padding:4px}.tab{border:0;background:transparent;padding:10px 21px;border-radius:9px;color:var(--muted);cursor:pointer}.tab.active{background:#fff;color:var(--green);font-weight:700;box-shadow:0 2px 8px #d9ded8}.page{max-width:1500px;margin:auto;padding:28px 30px 110px}.list-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:25px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.filters{padding:22px;height:max-content;position:sticky;top:110px}.panel-title,.results-head,.preview-head{display:flex;justify-content:space-between;align-items:flex-start}.eyebrow{font-size:11px;letter-spacing:.12em;color:var(--green);font-weight:800}.panel h2,.results h2,.preview-area h2{font-size:20px;margin:5px 0 16px}.text-btn{border:0;background:transparent;color:var(--green);cursor:pointer;padding:4px}.filters>label,.card-settings>label{display:block;margin-top:14px;font-weight:650;font-size:12px}.filters select,.filters input,.card-settings select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:white;color:var(--ink)}.two-col,.three-col{display:grid;gap:8px;margin-top:14px}.two-col{grid-template-columns:1fr 1fr}.three-col{grid-template-columns:repeat(3,1fr)}.two-col label,.three-col label{font-weight:650;font-size:11px}.hint{font-size:11px;color:var(--muted);text-align:center}.results{min-width:0}.results-head h2{margin-bottom:3px}.results-head p{margin:0;color:var(--muted)}.sort-box label{font-size:12px;color:var(--muted)}.sort-box select{margin-left:8px;padding:9px 30px 9px 10px;border:1px solid var(--line);border-radius:8px;background:white}.action-row{background:white;border:1px solid var(--line);border-radius:12px 12px 0 0;padding:11px 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.secondary,.primary{border-radius:8px;padding:9px 14px;cursor:pointer;font-weight:700}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.primary{border:1px solid var(--green);background:var(--green);color:#fff}.inline{color:var(--muted);font-size:12px}.inline input{width:58px;padding:7px;border:1px solid var(--line);border-radius:7px}.check-action{font-weight:650}.toggle{display:flex;align-items:center;gap:7px;color:var(--muted)}.toggle input{display:none}.toggle span{width:34px;height:19px;background:#cad3cf;border-radius:20px;position:relative}.toggle span:after{content:"";position:absolute;width:15px;height:15px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.2s}.toggle input:checked+span{background:var(--green)}.toggle input:checked+span:after{left:17px}.table-wrap{overflow:auto;border:1px solid var(--line);border-top:0;background:#fff;border-radius:0 0 12px 12px;max-height:calc(100vh - 290px)}table{width:100%;border-collapse:collapse;min-width:900px}th{position:sticky;top:0;background:#f5f8f6;z-index:1;font-size:11px;color:var(--muted);text-align:left;padding:10px;border-bottom:1px solid var(--line)}td{padding:10px;border-bottom:1px solid #edf1ef;vertical-align:middle}tr.selected{background:var(--green2)}.thumb{width:55px;height:55px;display:grid;place-items:center;border-radius:8px;background:var(--cream);overflow:hidden}.thumb img{width:100%;height:100%;object-fit:contain}.no-image{color:#aab3b0;font-size:10px}.word{font-weight:800;font-size:15px}.reading,.meta-list{font-size:11px;color:var(--muted);margin-top:2px}.empty{text-align:center;padding:60px;background:#fff;border:1px solid var(--line)}#selectionBar{position:fixed;z-index:30;bottom:0;left:0;right:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:14px 32px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 -8px 30px rgba(30,60,49,.08)}#selectionBar>div{display:flex;gap:9px;align-items:center}#selectionBar strong{font-size:17px;color:var(--green)}#selectionBar span{color:var(--muted);font-size:12px}.card-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px}.card-settings{padding:22px;height:max-content;position:sticky;top:110px}.back{margin-bottom:20px}.selected-note{display:flex;gap:10px;align-items:center;background:var(--green2);border-radius:10px;padding:12px}.selected-note strong{font-size:20px;color:var(--green)}.selected-note span{font-size:12px;color:var(--muted)}fieldset{border:0;padding:0;margin:22px 0}legend{font-weight:800;font-size:13px;margin-bottom:9px}fieldset>label{display:block;margin:8px 0}.layout-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.layout-options label{border:1px solid var(--line);border-radius:8px;padding:9px;text-align:center}.wide{width:100%;padding:12px}.badge{background:var(--green2);color:var(--green);border-radius:20px;padding:7px 12px;font-size:12px;font-weight:700}#preview{display:flex;flex-direction:column;align-items:center;gap:24px}.sheet{width:min(100%,794px);aspect-ratio:210/297;background:white;box-shadow:0 6px 30px rgba(20,50,40,.13);padding:24px;display:grid;gap:9px;break-after:page}.sheet.layout-4{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.sheet.layout-6{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr)}.sheet.layout-8{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,1fr)}.sheet.layout-9{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}.sheet.layout-12{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr)}.flash-card{border:1.5px dashed #8d9994;display:flex;min-width:0;min-height:0;flex-direction:column;align-items:center;justify-content:center;padding:5%;overflow:hidden}.card-picture{min-height:0;flex:1;width:100%;display:flex;align-items:center;justify-content:center}.card-picture img{max-width:92%;max-height:92%;object-fit:contain}.card-label{font-weight:800;font-size:clamp(16px,2.1vw,29px);line-height:1.2;margin-top:4px;text-align:center;word-break:keep-all}.text-only .card-label{font-size:clamp(25px,4vw,48px);margin:0}.missing-picture{color:#aab3b0;font-size:12px}#toast{position:fixed;z-index:50;left:50%;bottom:90px;transform:translate(-50%,20px);padding:11px 18px;background:#24332f;color:white;border-radius:8px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:900px){.list-layout,.card-layout{grid-template-columns:1fr}.filters,.card-settings{position:static}.table-wrap{max-height:none}.app-header{padding:0 15px}.page{padding:20px 14px 120px}#selectionBar{padding:10px 14px;align-items:stretch;flex-direction:column}#selectionBar>div:last-child{display:grid;grid-template-columns:1fr 1fr}#selectionBar .primary{grid-column:1/-1}.app-header p{display:none}}@media print{@page{size:A4 portrait;margin:0}.app-header,.card-settings,.preview-head,#selectionBar,#toast{display:none!important}body{background:#fff}.page{padding:0;margin:0;max-width:none}.card-layout{display:block!important}.preview-area{display:block}#preview{display:block}.sheet{width:210mm;height:297mm;box-shadow:none;margin:0;padding:7mm;break-after:page}.sheet:last-child{break-after:auto}.flash-card{break-inside:avoid}.card-label{font-size:9mm}.layout-9 .card-label,.layout-12 .card-label{font-size:7mm}}
