:root{--rose: #b06b7d;--rose-deep: #94566a;--rose-text: #a85a72;--marker: rgba(244, 196, 209, .7);--soft1: #f1dde2;--soft2: #f6ece1;--pale: #fbf3f5;--pale2: #f9f1ea;--inner: #f8f1ea;--line: #e7d6da;--border: #ddc4cb;--ink: #4f453f;--ink-soft: #948a83;--bg: #f5f1ec}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Noto Sans JP,sans-serif;font-weight:400;line-height:1.9;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}.tabbar{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1.5px solid var(--rose);box-shadow:0 2px 10px #b06b7d14}.tabbar-inner{max-width:860px;margin:0 auto;display:flex;align-items:stretch;flex-wrap:wrap}.brandtag{display:flex;align-items:center;font-family:Cormorant Garamond,serif;letter-spacing:.28em;font-size:13px;color:var(--rose);padding:0 18px;white-space:nowrap;border-right:1px solid var(--line)}.brandtag .note{font-size:16px;margin-right:6px}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:13.5px;color:var(--rose);letter-spacing:.06em;padding:14px 15px 12px;cursor:pointer;white-space:nowrap;position:relative;border-bottom:3px solid transparent}.tab .en{display:block;font-family:Cormorant Garamond,serif;font-size:10px;letter-spacing:.18em;opacity:.6;font-weight:500}.tab:hover{background:var(--pale)}.tab.active{border-bottom-color:var(--rose);background:linear-gradient(180deg,#fff,var(--pale))}.page{max-width:860px;margin:26px auto 56px;background:#fff;padding:40px 48px 56px;position:relative;overflow:hidden;box-shadow:0 2px 24px #b06b7d17;border:1px solid var(--line)}@media (max-width: 640px){.page{padding:28px 20px 40px;margin:14px auto 30px}}.cover{text-align:center;margin-bottom:28px}.eyebrow{font-family:Cormorant Garamond,serif;letter-spacing:.32em;color:var(--rose);font-size:13px}.cover h1{font-family:"Noto Serif JP",serif;font-weight:700;color:var(--ink);font-size:25px;letter-spacing:.06em;line-height:1.5;margin:8px 0 6px}.script{font-family:Sacramento,cursive;color:var(--rose-deep);font-size:26px;opacity:.9}.mk{background:linear-gradient(transparent 58%,var(--marker) 58%);padding:0 3px;font-weight:700}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0 20px;padding-bottom:12px;border-bottom:1.5px solid var(--line)}.section-title h2{font-family:"Noto Serif JP",serif;font-size:19px;color:var(--ink);margin:0;font-weight:700;letter-spacing:.08em}.section-title .en{display:block;font-family:Cormorant Garamond,serif;font-size:11px;letter-spacing:.2em;color:var(--rose);font-weight:500;margin-bottom:2px}.section-mini{font-size:12px;font-weight:700;color:var(--rose);letter-spacing:.1em;border-left:4px solid var(--marker);padding-left:9px;margin:20px 0 8px}.card{background:#fff;border:1.3px solid var(--border);padding:18px 20px;margin-bottom:14px;transition:.15s}.card.clickable{cursor:pointer}.card.clickable:hover{background:var(--pale);transform:translateY(-2px)}.card.highlight{background:linear-gradient(135deg,var(--soft1),var(--pale2));border-color:var(--rose)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1.5px solid var(--rose);background:var(--rose);color:#fff;font-family:inherit;font-weight:700;font-size:13px;letter-spacing:.04em;padding:9px 18px;cursor:pointer;transition:.15s}.btn:hover{background:var(--rose-deep);border-color:var(--rose-deep)}.btn-ghost{background:#fff;color:var(--rose)}.btn-ghost:hover{background:var(--pale);color:var(--rose-deep)}.btn-danger{background:#fff;color:#b06a6a;border-color:#d8b3b3}.btn-danger:hover{background:#f7ecec}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.field{margin-bottom:16px}.field label{display:block;font-size:13px;color:var(--rose);margin-bottom:6px;font-weight:700;letter-spacing:.04em}.field .hint{font-size:11px;color:var(--ink-soft);font-weight:400}.field input,.field select,.field textarea{width:100%;border:1.2px solid var(--border);padding:10px 12px;font-size:14px;font-family:inherit;color:var(--ink);background:#fff}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--rose)}.field textarea{resize:vertical;min-height:72px;line-height:1.8}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}@media (max-width: 600px){.grid-2{grid-template-columns:1fr}}.tags{display:inline-flex;flex-wrap:wrap;gap:6px;vertical-align:middle}.tag{background:var(--soft2);color:var(--ink);padding:2px 11px;font-size:12px;border:1px solid var(--line)}.tag.pink{background:var(--soft1);color:var(--rose-text);border-color:transparent}.tag.gray{background:#efeae5;color:var(--ink-soft);border-color:transparent}.chip-select{display:flex;flex-wrap:wrap;gap:8px}.chip-select label{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1.2px solid var(--border);padding:5px 12px;font-size:12px;cursor:pointer;font-weight:400;margin:0;color:var(--ink);letter-spacing:0}.chip-select label.checked{background:linear-gradient(135deg,var(--soft1),var(--pale2));border-color:var(--rose);color:var(--rose-text);font-weight:700}.chip-select input{display:none}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.list-item .meta{color:var(--ink-soft);font-size:13px}.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--soft1),var(--pale2));color:var(--rose-text);border:1.5px solid var(--rose);display:flex;align-items:center;justify-content:center;font-family:"Noto Serif JP",serif;font-weight:700;flex-shrink:0}.num-circle{flex-shrink:0;width:30px;height:30px;border:1.5px solid var(--rose);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,serif;font-size:15px;color:var(--rose)}.stars{color:var(--rose);font-size:18px;letter-spacing:2px}.rec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.rec-rank{font-family:Archivo,sans-serif;font-size:34px;font-weight:700;color:var(--rose);line-height:.9;margin-right:4px}.rec-title{font-family:"Noto Serif JP",serif;font-size:18px;font-weight:700;color:var(--ink)}.rec-block{margin-top:12px}.rec-block h4{font-size:12px;margin:0 0 4px;color:var(--rose);letter-spacing:.08em}.rec-block ul{margin:0;padding-left:18px;font-size:14px}.teacher-note{background:var(--inner);border-left:5px solid var(--marker);padding:13px 16px;font-size:13.5px;margin-top:12px;line-height:1.85}.insight{background:var(--inner);border-left:5px solid var(--marker);padding:14px 18px;margin:4px 0 8px;font-size:13px;line-height:1.85}.insight .il{display:inline-block;background:var(--rose);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;padding:1px 9px;margin-right:8px}.detail-row{display:grid;grid-template-columns:140px 1fr;gap:8px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:14px;align-items:start}.detail-row .k{color:var(--rose);font-size:12.5px;font-weight:700}@media (max-width: 600px){.detail-row{grid-template-columns:1fr;gap:2px}}.savebar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--inner);border:1px solid var(--line);padding:11px 16px;font-size:12.5px;margin-top:26px;color:var(--ink-soft)}.savebar .dot{width:9px;height:9px;border-radius:50%;background:#c79bab}.empty{text-align:center;color:var(--ink-soft);padding:36px 0;font-size:14px;background:var(--pale);border:1px dashed var(--border)}.muted{color:var(--ink-soft);font-size:13px}.divider{height:1px;background:var(--line);margin:16px 0;border:none}.back-link{background:none;border:none;color:var(--rose);cursor:pointer;font-size:14px;padding:0;margin-bottom:12px;font-family:inherit}.back-link:hover{color:var(--rose-deep)}.badge{display:inline-block;background:var(--rose);color:#fff;padding:2px 11px;font-size:11px;font-weight:700;letter-spacing:.04em}
