:root{--ink: #252525;--muted: #6f6760;--line: #ded5ca;--soft: #f5efe7;--paper: #fffdf9;--accent: #2f6f5e}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Arial,Noto Sans KR,sans-serif;background:#faf7f2}a{color:inherit}.site-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:24px 0 58px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.brand{font-size:20px;font-weight:800;text-decoration:none}.nav-link{color:var(--muted);font-size:14px;text-decoration:none}.hero h1,.page-title h1{margin:0 0 10px;font-size:clamp(28px,5vw,40px);line-height:1.22;letter-spacing:0}.hero p,.page-title p{max-width:760px;margin:0;color:var(--muted);line-height:1.7}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:12px}.category-list{display:grid;gap:26px;margin-top:30px}.form-category h2{margin:0;font-size:20px}.home-note{margin:28px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.7}.site-footer{border-top:1px solid var(--line);background:#f3eee6}.site-footer-inner{display:flex;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:18px 0;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:13px}.site-footer-inner strong{color:var(--ink)}.site-footer nav{display:flex;flex-wrap:wrap;gap:12px}.site-footer a{color:var(--muted);text-decoration:none}.info-page{max-width:900px}.info-card{padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.info-card .page-title{margin-bottom:26px}.info-card section{margin-top:22px}.info-card h2{margin:0 0 8px;font-size:18px}.info-card p{margin:0;color:var(--muted);line-height:1.8}.info-card a{color:var(--accent);font-weight:700}.effective-date,.contact-email{margin-top:24px!important}.template-card{display:block;min-height:160px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--paper);text-decoration:none;transition:border-color .16s ease,background .16s ease}.template-card:nth-child(1){border-top:3px solid #2f6f5e}.template-card:nth-child(2){border-top:3px double #8a5a35}.template-card:nth-child(3){border-top:3px solid #b99573;background:#fffaf3}.template-card:hover{border-color:#cbbba9;background:#fffaf3}.template-card h2,.template-card h3{margin:0 0 8px;font-size:21px}.template-card p{margin:0 0 18px;color:var(--muted);line-height:1.6}.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;align-items:start;margin-top:24px}.option-panel{position:sticky;top:16px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.option-panel h2{margin:0 0 14px;font-size:18px}.option-group{display:grid;gap:10px;margin:0 0 14px;padding:0 0 12px;border:0;border-bottom:1px solid #e2e2e2}.option-group legend{margin-bottom:8px;padding:0;font-size:13px;font-weight:800;color:#333}.field{display:grid;gap:7px;margin-bottom:13px}.field label,.check-field{font-size:14px;font-weight:700}.field input,.field select{width:100%;min-height:38px;padding:8px 10px;border:1px solid #cfc4b8;border-radius:6px;background:#fff;font:inherit}.check-field{display:flex;align-items:center;gap:8px;margin:10px 0}.primary-button,.modal-button{width:100%;min-height:42px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;font-weight:800;cursor:pointer}.secondary-button{border-color:#999;background:#fff;color:var(--ink)}.preview-wrap{overflow:auto;padding:18px;border:1px solid var(--line);border-radius:8px;background:#ebe3d8}.a4-stack,.writing-paper-print-root{display:grid;gap:18px}.a4-page{width:210mm;min-height:297mm;margin:0 auto;padding:8mm 10mm;background:var(--paper);color:#111;box-shadow:0 4px 16px #48362324}.a4-page.is-landscape{width:297mm;min-height:210mm}.a4-page-content{min-height:264mm}.a4-page.is-landscape .a4-page-content{min-height:177mm}.page-footer{margin-top:8mm;padding-top:4mm;border-top:1px solid #ddd;color:#666;font-size:11px;text-align:center}.form-title{margin:0 0 6px;text-align:center;font-size:24px;letter-spacing:0}.print-tip{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.limit-warning{display:none;margin:10px 0 0;padding:9px 10px;border:1px solid #111;background:#fff;color:#111;font-size:13px;line-height:1.5}.limit-warning.is-visible{display:block}.modal-tip{margin:0 0 12px;color:#555;font-size:13px;line-height:1.5}.budget-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0 9px}.simple-summary{display:grid;gap:6px;margin:6px 0 10px}.ledger-summary{grid-template-columns:repeat(5,1fr)}.summary-box{min-height:39px;border:1px solid #111;padding:7px;font-size:12px}.summary-box strong{display:block;margin-bottom:5px;font-size:11px}.budget-section{margin-top:7px;break-inside:avoid;page-break-inside:avoid}.budget-section .section-title{margin-top:0;padding:4px 7px;border:1px solid #111;border-bottom:0;background:#f1f1f1}.total-table td:first-child{font-weight:700;background:#f6f6f6}.checklist-meta{grid-template-columns:1.2fr 1fr 1.8fr}.category-title-row td{height:29px;background:#f7f7f7;font-weight:700;border-top:2px solid #111;padding-left:9px}.checklist-table th:nth-child(1),.checklist-table td:nth-child(1){width:10%;text-align:center}.checklist-table th:nth-child(3),.checklist-table td:nth-child(3){width:12%}.checklist-table th:nth-child(4),.checklist-table td:nth-child(4){width:16%}.checklist-table th:nth-child(5),.checklist-table td:nth-child(5){width:24%}.checklist-table th,.ledger-table th{border-top:2px solid #111;border-bottom:2px solid #111;background:#fff}.ledger-table th:nth-child(1),.ledger-table td:nth-child(1){width:13%}.ledger-table th:nth-child(2),.ledger-table td:nth-child(2){width:10%;text-align:center}.ledger-table th:nth-child(4),.ledger-table td:nth-child(4),.ledger-table th:nth-child(5),.ledger-table td:nth-child(5){width:13%}.ledger-table th:nth-child(6),.ledger-table td:nth-child(6){width:14%}.ledger-total-block{margin-top:8px}.simple-form-table{font-size:11px}.simple-form-table th{border-top:2px solid #111;border-bottom:2px solid #111;background:#fff}.wide-form-table{font-size:8px}.wide-form-table th,.wide-form-table td{height:20px;padding:2px;text-align:center}.wide-form-table th:first-child,.wide-form-table td:first-child,.wide-form-table th:last-child,.wide-form-table td:last-child{text-align:left}.formula-placeholder{display:block;min-height:1em;background:repeating-linear-gradient(90deg,transparent 0 3px,#ddd 3px 4px)}.weekly-planner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.weekly-day-block{min-height:52mm;border:1px solid #111;break-inside:avoid;page-break-inside:avoid}.weekly-day-block h3{margin:0;padding:5px 7px;border-bottom:1px solid #111;background:#f5f5f5;font-size:13px}.weekly-line{display:grid;grid-template-columns:54px 1fr;min-height:15mm;border-bottom:1px solid #d8d8d8;font-size:11px}.weekly-line:last-child{border-bottom:0}.weekly-line strong{padding:6px;border-right:1px solid #d8d8d8;background:#fbfbfb}.weekly-line span{padding:6px}.weekly-line.small{grid-template-columns:38px 24px 38px 1fr;min-height:10mm}.fixed-cost-layout .status-strip,.vehicle-info-row,.study-focus-row{display:grid;gap:6px;margin-bottom:8px}.fixed-cost-layout .status-strip{grid-template-columns:repeat(3,1fr)}.fixed-cost-layout .status-strip div,.vehicle-info-row span,.study-focus-row span{min-height:12mm;padding:6px;border:1px solid #111;background:#fbfbfb;font-size:11px}.fixed-cost-layout .status-strip strong{display:block;margin-bottom:4px}.fixed-cost-table th:nth-child(4),.fixed-cost-table td:nth-child(4),.fixed-cost-table th:nth-child(6),.fixed-cost-table td:nth-child(6){background:#fafafa;font-weight:700}.goal-layout{display:grid;gap:9px}.goal-progress{padding:8px;border:1px solid #111}.goal-progress div{display:flex;justify-content:space-between;margin-bottom:6px;font-size:12px}.goal-progress i{display:block;height:8mm;border:1px solid #111;background:linear-gradient(90deg,#d9d9d9 0 35%,transparent 35% 100%)}.goal-table th:nth-child(2),.goal-table td:nth-child(2),.goal-table th:nth-child(3),.goal-table td:nth-child(3),.goal-table th:nth-child(4),.goal-table td:nth-child(4){background:#fbfbfb}.monthly-planner-layout{display:grid;grid-template-columns:1fr 44mm;gap:8px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #111;border-left:1px solid #111}.calendar-grid>strong,.calendar-cell{border-right:1px solid #111;border-bottom:1px solid #111}.calendar-grid>strong{padding:5px;background:#f5f5f5;text-align:center;font-size:11px}.calendar-cell{min-height:28mm;padding:4px;font-size:11px}.calendar-cell b{display:block;margin-bottom:3px}.monthly-side-notes{display:grid;gap:8px}.monthly-side-notes div{min-height:66mm;padding:7px;border:1px solid #111;font-size:11px}.inventory-table .category-title-row td{background:#f4f7f4}.inventory-table th:nth-child(1),.inventory-table td:nth-child(1),.inventory-table th:nth-child(5),.inventory-table td:nth-child(5),.inventory-table th:nth-child(6),.inventory-table td:nth-child(6){font-weight:700}.shopping-table .category-title-row td{background:#f7f7f7;border-top-style:double}.shopping-table th:first-child,.shopping-table td:first-child{width:8%;text-align:center}.shopping-table th:nth-child(4),.shopping-table td:nth-child(4),.shopping-table th:nth-child(5),.shopping-table td:nth-child(5){background:#fbfbfb}.vehicle-info-row,.study-focus-row{grid-template-columns:repeat(4,1fr)}.study-focus-row{grid-template-columns:1fr 1fr 1fr}.logbook-table th:nth-child(2),.logbook-table td:nth-child(2),.logbook-table th:nth-child(4),.logbook-table td:nth-child(4),.logbook-table th:nth-child(6),.logbook-table td:nth-child(6){background:#fbfbfb}.study-log-table th:nth-child(5),.study-log-table td:nth-child(5),.study-log-table th:nth-child(6),.study-log-table td:nth-child(6),.study-log-table th:nth-child(7),.study-log-table td:nth-child(7){background:#fbfbfb}.meta-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid #111;border-left:1px solid #111;margin-bottom:12px}.meta-cell{min-height:34px;padding:7px;border-right:1px solid #111;border-bottom:1px solid #111;font-size:12px}.section-title{margin:16px 0 6px;font-size:15px;break-after:avoid;page-break-after:avoid}.form-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}.form-table th,.form-table td{height:27px;padding:5px 6px;border:1px solid #111;vertical-align:top;break-inside:avoid;page-break-inside:avoid}.form-table th{background:var(--soft)}.form-table tr,.section-block,.meta-grid,.note-block,.note-box{break-inside:avoid;page-break-inside:avoid}.check-col{width:34px;text-align:center}.amount-col{width:28%}.note-box{min-height:72px;border:1px solid #111;padding:8px;font-size:12px}.writing-paper-page{width:210mm;max-width:210mm;min-height:297mm;margin:0 auto;padding:7mm 8mm;background:var(--paper);color:#111;box-shadow:0 8px 24px #00000029;page:writingPaperPortrait}.writing-paper-paper{min-height:273mm;padding-top:3mm;display:flex;flex-direction:column;justify-content:flex-start}.stationery-header{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:7px;margin:0 auto 6mm;width:min(178mm,100%);color:#5d1f1f}.stationery-header>div{min-height:6mm;padding:.8mm 1mm .6mm;border-bottom:1.2px solid #8b2f2f;font-size:11px}.stationery-header span{display:inline-block;min-width:9mm;margin-right:2mm;font-weight:700}.stationery-sheet{margin:0 auto;color:#641f1f;break-inside:avoid;page-break-inside:avoid}.manuscript-grid{display:grid;grid-template-columns:repeat(20,1fr);border-top:1.8px solid #7f2525;border-left:1.8px solid #7f2525;box-shadow:0 0 0 1px #7f252524;background:#fff}.manuscript-grid span{position:relative;aspect-ratio:1 / 1;border-right:.9px solid #a44949;border-bottom:.9px solid #a44949}.manuscript-grid span:nth-child(5n){border-right-width:1.6px}.manuscript-grid span:nth-child(n+81):nth-child(-n+100),.manuscript-grid span:nth-child(n+181):nth-child(-n+200),.manuscript-grid span:nth-child(n+281):nth-child(-n+300){border-bottom-width:1.6px}.manuscript-grid span:before{content:"";position:absolute;inset:18%;border:1px dotted rgba(154,58,58,.14)}.manuscript-duo{display:grid;gap:12mm}.stationery-sheet.chars200,.manuscript-grid.chars200,.stationery-sheet.chars400,.manuscript-grid.chars400{width:184mm}.stationery-sheet.lined{width:178mm}.stationery-lined{width:178mm;min-height:248mm;padding:5mm 0 0 14mm;border-top:1.5px solid #8ea3b6;border-bottom:1.5px solid #8ea3b6;border-left:1.8px solid #b46565;background:linear-gradient(to right,rgba(130,155,180,.1) 0 1px,transparent 1px 100%) left top / 10mm 100% repeat,#fff}.line-row{height:9.2mm;border-bottom:1px solid #8ea3b6}.paper-checkbox{display:inline-block;width:4.2mm;height:4.2mm;border:1.4px solid #111;vertical-align:middle}.modal-backdrop{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:20px;background:#25201b6b;z-index:20}.modal-backdrop.is-open{display:flex}.modal{width:min(360px,100%);padding:18px;border-radius:8px;background:#fffdf9}.modal h2{margin:0 0 12px;font-size:18px}.modal-actions{display:grid;gap:8px}.print-only{display:none}@media(max-width:900px){.template-grid,.workspace{grid-template-columns:1fr}.option-panel{position:static}}@media print{body{margin:0;background:#fff}.topbar,.page-title,.option-panel,.modal-backdrop,.print-tip,.home-note,.site-footer{display:none!important}body *{visibility:hidden}.preview-wrap,.preview-wrap *,.a4-page,.a4-page *{visibility:visible}.a4-page{position:static;width:auto;min-height:auto;margin:0;padding:0;box-shadow:none;break-after:page;page-break-after:always}.a4-page:last-child{break-after:auto;page-break-after:auto}.a4-page-content{min-height:auto}.site-shell,.workspace,.preview-wrap{width:auto;margin:0;padding:0;border:0;background:#fff}.a4-stack{display:block}@page{size:A4;margin:10mm}@page landscapePage{size:A4 landscape;margin:10mm}.a4-page.is-landscape{page:landscapePage}}:root{--blog-accent: #2f6f5e;--blog-accent-dark: #254f44;--blog-brown: #8a5a35;--blog-bg: #faf7f2;--blog-text: #252525;--blog-muted: #6f6760;--blog-line: #e4ddd3;--blog-surface: #fffdf9}body{background:var(--blog-bg);color:var(--blog-text)}.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(228,221,211,.92);background:#faf7f2f5;backdrop-filter:blur(8px)}.site-header-inner{display:flex;width:min(1180px,calc(100% - 32px));min-height:60px;margin:0 auto;align-items:center;justify-content:space-between;gap:24px}.site-logo{flex:none;color:#2a2723;font-size:19px;font-weight:800;letter-spacing:0;text-decoration:none}.site-header nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.site-header nav a{padding:7px 9px;border-radius:6px;color:#5c554e;font-size:14px;font-weight:700;text-decoration:none}.site-header nav a:hover{background:#f1ebe2}.site-header nav a:hover,.site-footer a:hover{color:var(--blog-accent)}.site-footer{border-top-color:var(--blog-line);background:#f3eee6}.site-shell>.topbar{display:none}.blog-shell{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:30px 0 70px}.blog-intro{max-width:720px;padding:18px 0 28px}.blog-intro h1{margin:0 0 12px;color:#252525;font-size:38px;line-height:1.32}.blog-intro p{margin:0;color:var(--blog-muted);font-size:17px;line-height:1.8}.home-hub{width:min(1040px,calc(100% - 32px));min-height:calc(100vh - 60px);display:grid;align-content:center;padding-top:34px;padding-bottom:56px}.home-hero{max-width:720px;margin:0 auto;padding:34px 0 28px;text-align:center}.home-hero h1{font-size:clamp(34px,7vw,50px)}.hub-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0 0}.hub-card{display:flex;min-height:260px;padding:24px;border:1px solid var(--blog-line);border-radius:8px;flex-direction:column;background:var(--blog-surface);color:var(--blog-text);text-decoration:none;box-shadow:0 1px 4px #3c2d1e09;transition:border-color .16s ease,background .16s ease}.hub-card:hover{border-color:#cfbda8;background:#fffaf3}.hub-card>span{margin-bottom:18px;color:var(--blog-brown);font-size:13px;font-weight:800}.hub-card h2{margin:0 0 10px;color:#2d2924;font-size:24px;line-height:1.35}.hub-card p{margin:0;color:var(--blog-muted);font-size:15px;line-height:1.75}.hub-card strong{display:inline-flex;width:fit-content;margin-top:auto;padding-top:22px;color:var(--blog-accent);font-size:14px}.section-heading{display:flex;margin:34px 0 14px;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid var(--blog-line);padding-bottom:9px}.section-heading h2{margin:0;color:#2d2a26;font-size:21px;font-weight:800}.section-heading a{color:var(--blog-accent);font-size:14px;font-weight:700;text-decoration:none}.article-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.article-card{display:grid;grid-template-columns:150px minmax(0,1fr);overflow:hidden;border:1px solid var(--blog-line);border-radius:8px;background:var(--blog-surface);box-shadow:0 1px 4px #3c2d1e09;transition:border-color .16s ease,background .16s ease}.article-card:hover{border-color:#d2c6b8;background:#fffaf3}.article-card:not(:has(.article-thumb)){grid-template-columns:1fr}.article-thumb{min-height:170px;background:#eee7dd}.article-thumb img{width:100%;height:100%;object-fit:cover}.article-card-body{min-width:0;padding:18px}.article-meta{display:flex;margin-bottom:9px;align-items:center;justify-content:space-between;gap:12px;color:#7a7168;font-size:12px}.category-label{display:inline-flex;padding:3px 8px;border-radius:999px;background:#edf3ef;color:var(--blog-accent-dark);font-weight:800;text-decoration:none}.article-card h3{margin:0 0 8px;font-size:20px;line-height:1.45}.article-card h3 a{color:#292622;text-decoration:none}.article-card p{display:-webkit-box;margin:0;overflow:hidden;color:var(--blog-muted);font-size:14px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tag-list span{padding:3px 7px;border-radius:999px;background:#f1ece5;color:#74695f;font-size:12px}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.category-chip-list{display:flex;flex-wrap:wrap;gap:10px}.category-chip{display:inline-flex;min-height:40px;padding:8px 10px 8px 14px;border:1px solid var(--blog-line);border-radius:999px;align-items:center;gap:9px;background:var(--blog-surface);color:#302c28;text-decoration:none}.category-chip:hover{border-color:#cfbda8}.category-chip span{display:grid;width:24px;height:24px;border-radius:50%;place-items:center;background:#f1ebe2;color:var(--blog-accent-dark);font-size:12px;font-weight:800}.category-link{min-height:82px;padding:14px;border:1px solid var(--blog-line);border-radius:8px;background:var(--blog-surface);text-decoration:none;box-shadow:none;transition:border-color .16s ease,background .16s ease}.category-link:hover{border-color:#cfbda8;background:#fffaf3}.category-link strong{display:block;margin-bottom:5px}.category-link span{color:#68726d;font-size:13px}.empty-state{padding:34px 18px;border:1px dashed #d8cbbd;border-radius:8px;background:#fffdf9bd;color:var(--blog-muted);text-align:center}.quiet-panel{padding:18px;border:1px solid var(--blog-line);border-radius:8px;background:var(--blog-surface)}.quiet-panel strong{display:block;margin-bottom:6px;color:#302c28;font-size:17px}.quiet-panel p{max-width:720px;margin:0 0 10px;color:var(--blog-muted);line-height:1.75}.text-link{color:var(--blog-accent);font-size:14px;font-weight:700;text-decoration:none}.muted-link{color:#8c8075;pointer-events:none}.birthday-home-card{max-width:760px}.birthday-shell{width:min(980px,calc(100% - 32px))}.birthday-search-shell{min-height:calc(100svh - 60px);display:grid;place-items:center;padding-top:24px;padding-bottom:48px}.birthday-search-center{width:min(640px,100%);margin:0 auto;text-align:center}.birthday-intro{max-width:640px;padding:12px 0 20px}.birthday-intro h1{margin-bottom:10px}.birthday-tool-symbol{display:inline-grid;width:48px;height:48px;margin-bottom:14px;border:1px solid #e5d8c9;border-radius:50%;place-items:center;background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.9),transparent 34%),#fff7ea;color:var(--blog-brown);font-size:22px}.birthday-search-card{max-width:620px;margin:0 auto}.birthday-tool{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}.birthday-form-panel,.birthday-result{border:1px solid var(--blog-line);border-radius:8px;background:var(--blog-surface);box-shadow:0 1px 4px #3c2d1e09}.birthday-form-panel{position:relative;overflow:hidden;padding:34px;border-color:#ded0bf;background:radial-gradient(circle at 12% 10%,rgba(255,255,255,.95),transparent 28%),radial-gradient(circle at 88% 16%,rgba(47,111,94,.08),transparent 24%),linear-gradient(145deg,#fffdf9,#fff7ee);box-shadow:0 14px 34px #44311d14;text-align:left}.birthday-form-panel:after{content:"";position:absolute;right:-34px;bottom:-44px;width:150px;height:150px;border:1px dashed rgba(138,90,53,.18);border-radius:50%}.birthday-card-symbol{display:inline-grid;width:42px;height:42px;margin-bottom:14px;border-radius:12px;place-items:center;background:#f1ebe2;font-size:22px}.birthday-form-panel h2{margin:0 0 6px;color:#302c28;font-size:24px}.birthday-form-panel p{margin:0 0 22px;color:var(--blog-muted);font-size:15px;line-height:1.7}.birthday-form-panel form{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:14px}.birthday-form-panel label{display:grid;gap:7px;color:#3a352f;font-size:13px;font-weight:800}.birthday-form-panel select{width:100%;min-height:50px;padding:11px 13px;border:1px solid #cfc4b8;border-radius:7px;background:#fff;color:var(--blog-text);font:inherit;font-size:16px}.birthday-form-panel button{grid-column:1 / -1;min-height:52px;margin-top:4px;font-size:15px}.birthday-result{overflow:hidden;display:grid;gap:0}.birthday-hero-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;padding:24px;border-bottom:1px solid var(--blog-line);align-items:center}.birthday-symbol{display:grid;width:76px;height:76px;border:1px solid rgba(138,90,53,.22);border-radius:50%;place-items:center;background:#fffdf9b8;color:var(--blog-brown);font-size:34px}.birthday-hero-card span{color:var(--blog-brown);font-size:13px;font-weight:800}.birthday-hero-card h2{margin:8px 0 7px;color:#28231f;font-size:31px;line-height:1.25}.birthday-hero-card p{margin:0;color:var(--blog-muted);line-height:1.7}.birthday-section{padding:22px;border-bottom:1px solid var(--blog-line)}.birthday-section:last-child{border-bottom:0}.birthday-section h3{margin:0 0 14px;color:#302c28;font-size:19px}.birthday-section-title{margin-bottom:14px}.birthday-section-title h3{margin-bottom:6px}.birthday-section-title p{margin:0;color:var(--blog-muted);font-size:14px;line-height:1.7}.birthday-meaning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.birthday-meaning-grid div{min-height:96px;padding:16px;border:1px solid var(--blog-line);border-radius:8px;background:#fffdf9}.birthday-meaning-grid div:last-child{border-right:1px solid var(--blog-line)}.birthday-meaning-grid span{display:block;margin-bottom:8px;color:#7c7165;font-size:12px;font-weight:800}.birthday-meaning-grid strong{display:block;color:#2f2a25;font-size:20px;line-height:1.4}.birthday-meaning-grid p{margin:8px 0 0;color:var(--blog-muted);font-size:13px;line-height:1.6}.birthday-keywords{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0 0}.birthday-keywords span{padding:6px 10px;border:1px solid #dfd3c5;border-radius:999px;background:#f8f1e8;color:#604d3d;font-size:13px;font-weight:800}.birthday-card-grid,.fantasy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.birthday-card-grid article,.fantasy-grid article,.fantasy-intro{min-height:116px;padding:15px;border:1px solid var(--blog-line);border-radius:8px;background:#fffdf9}.birthday-card-grid span,.fantasy-grid span,.fantasy-intro span{display:block;margin-bottom:8px;color:#7c7165;font-size:12px;font-weight:800}.birthday-card-grid p,.fantasy-intro p{margin:0;color:var(--blog-muted);line-height:1.8}.fantasy-section{background:#fffaf3}.fantasy-grid article{min-height:92px;background:#fffdf9d6}.fantasy-grid strong{color:#352d25;font-size:17px;line-height:1.45}.fantasy-intro{min-height:0;margin-top:10px;background:#fffdf9d6}.birthday-retry{margin-top:14px}.birthday-detail-shell{width:min(980px,calc(100% - 32px))}.birthday-story,.birthday-chapter-shell{min-height:100svh;background:var(--blog-bg);scroll-snap-type:y proximity;scroll-behavior:smooth}.birthday-chapter{min-height:92svh;display:grid;align-items:center;padding:48px max(24px,calc((100vw - 1080px)/2));scroll-snap-align:start;opacity:0;transform:translateY(24px) scale(.985);transition:opacity .52s ease,transform .52s ease}.birthday-chapter.is-visible{opacity:1;transform:translateY(0) scale(1)}.hero-chapter{background:radial-gradient(circle at 16% 18%,color-mix(in srgb,var(--birth-color, #c59b6d) 10%,transparent),transparent 26%),linear-gradient(180deg,#fbfaf7,var(--blog-bg))}.basic-chapter{background:radial-gradient(circle at 92% 12%,color-mix(in srgb,var(--birth-color, #c59b6d) 11%,transparent),transparent 24%),var(--blog-bg)}.personality-chapter{background:linear-gradient(120deg,rgba(47,111,94,.04),transparent 36%),var(--blog-bg)}.fantasy-chapter{background:radial-gradient(circle at 12% 80%,rgba(90,75,138,.08),transparent 28%),var(--blog-bg)}.tmi-chapter{background:linear-gradient(90deg,rgba(138,90,53,.04) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(0deg,rgba(138,90,53,.035) 1px,transparent 1px) 0 0 / 28px 28px,var(--blog-bg)}.search-chapter{background:linear-gradient(180deg,var(--blog-bg),#fffdf9)}.birthday-chapter-inner{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:24px;align-items:center}.birthday-chapter:nth-of-type(odd) .birthday-chapter-inner{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}.birthday-chapter .birthday-meaning-grid div,.birthday-chapter .birthday-card-grid article,.birthday-chapter .fantasy-grid article{opacity:0;transform:translateY(16px);transition:opacity .42s ease,transform .42s ease}.birthday-chapter.is-visible .birthday-meaning-grid div,.birthday-chapter.is-visible .birthday-card-grid article,.birthday-chapter.is-visible .fantasy-grid article{opacity:1;transform:translateY(0)}.birthday-chapter.is-visible article:nth-child(2),.birthday-chapter.is-visible .birthday-meaning-grid div:nth-child(2){transition-delay:70ms}.birthday-chapter.is-visible article:nth-child(3),.birthday-chapter.is-visible .birthday-meaning-grid div:nth-child(3){transition-delay:.14s}.birthday-chapter.is-visible article:nth-child(4),.birthday-chapter.is-visible .birthday-meaning-grid div:nth-child(4){transition-delay:.21s}.birthday-chapter.is-visible article:nth-child(n+5),.birthday-chapter.is-visible .birthday-meaning-grid div:nth-child(n+5){transition-delay:.28s}.birthday-visual-block{min-height:360px;display:grid;align-content:center;gap:14px;padding:28px;border:1px solid color-mix(in srgb,var(--visual-accent, #8a5a35) 26%,var(--blog-line));border-radius:12px;background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.84),transparent 30%),radial-gradient(circle at 86% 82%,color-mix(in srgb,var(--visual-accent, #8a5a35) 18%,transparent),transparent 34%),linear-gradient(145deg,var(--visual-bg, #fffaf3),#fffdf9);box-shadow:0 10px 30px #3e2d1d14;position:relative;overflow:hidden}.birthday-visual-block.compact{min-height:260px}.birthday-card-eyebrow{width:fit-content;margin:0 0 2px;padding:5px 0;border-bottom:1px solid color-mix(in srgb,var(--visual-accent, #8a5a35) 32%,transparent);color:color-mix(in srgb,var(--visual-accent, #8a5a35) 72%,#3d332a);font-size:13px;font-weight:900;letter-spacing:0;line-height:1.35;text-align:left;word-break:keep-all;hyphens:none}.birthday-visual-block strong{color:#2d2924;font-size:clamp(24px,4vw,34px);line-height:1.25}.birthday-visual-block p,.birthday-card-copy{margin:0;color:var(--blog-muted);line-height:1.75}.birthday-visual-block div{display:flex;flex-wrap:wrap;gap:8px}.birthday-visual-block em{padding:6px 9px;border:1px solid color-mix(in srgb,var(--visual-accent, #8a5a35) 24%,var(--blog-line));border-radius:999px;background:#fffdf9c7;color:#604d3d;font-size:12px;font-style:normal;font-weight:800}.birthday-visual-block>*{position:relative;z-index:1}.visual-main-card{min-height:430px;background:radial-gradient(circle at var(--pattern-a) 22%,color-mix(in srgb,var(--birth-color) 34%,transparent),transparent 18%),radial-gradient(circle at 18% var(--pattern-b),rgba(255,255,255,.88),transparent 24%),linear-gradient(145deg,color-mix(in srgb,var(--birth-color) 20%,#fffdf9),var(--visual-bg))}.visual-main-card>strong{font-size:clamp(56px,12vw,96px);letter-spacing:.02em}.visual-main-card>.birthday-card-eyebrow{width:fit-content;height:auto;padding:5px 0;border-bottom-color:color-mix(in srgb,var(--birth-color) 42%,transparent);background:transparent;font-size:14px}.visual-main-card>i{position:absolute;right:24px;bottom:18px;color:color-mix(in srgb,var(--birth-color) 52%,transparent);font-size:72px;font-style:normal;z-index:0}.visual-orbit{position:absolute!important;inset:28px;border:1px dashed color-mix(in srgb,var(--birth-color) 32%,transparent);border-radius:50%;z-index:0}.visual-badges,.color-chip-row,.keyword-layout,.fantasy-card-lines,.memo-board,.fantasy-card-top,.birthday-card-tags{display:flex;flex-wrap:wrap;gap:8px}.visual-basic-card{background:radial-gradient(circle at 74% 24%,color-mix(in srgb,var(--birth-color) 24%,transparent),transparent 20%),linear-gradient(145deg,var(--visual-bg),#fffdf9)}.gem-shape{width:96px;height:96px;margin-bottom:4px;clip-path:polygon(50% 0,92% 28%,78% 100%,22% 100%,8% 28%);background:linear-gradient(135deg,rgba(255,255,255,.72),transparent 46%),var(--birth-color);box-shadow:0 16px 30px color-mix(in srgb,var(--birth-color) 22%,transparent)}.flower-shape{position:absolute!important;right:28px;top:28px;width:90px;height:90px;z-index:0}.flower-shape b{position:absolute;width:44px;height:44px;border-radius:50% 50% 50% 0;background:color-mix(in srgb,var(--birth-color) 20%,#fffdf9);transform-origin:bottom right}.flower-shape b:nth-child(2){transform:rotate(90deg)}.flower-shape b:nth-child(3){transform:rotate(180deg)}.flower-shape b:nth-child(4){transform:rotate(270deg)}.color-chip-row em:first-child:before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:50%;background:var(--chip-color);vertical-align:-1px}.visual-personality-card{align-content:stretch;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--birth-color) 8%,transparent) 0 1px,transparent 1px 18px),linear-gradient(145deg,#fffaf3,#fffdf9)}.visual-personality-card>i{position:absolute;right:26px;top:20px;color:color-mix(in srgb,var(--birth-color) 38%,transparent);font-size:64px;font-style:normal}.keyword-layout{display:grid;grid-template-columns:1fr 1fr;margin-top:auto}.keyword-layout em{min-height:72px;display:grid;padding:14px;border-radius:8px;place-items:center;background:#fffdf9d6;color:#4e4034;font-size:17px;font-style:normal;font-weight:900}.keyword-layout .keyword-1{grid-column:1 / -1;background:color-mix(in srgb,var(--birth-color) 18%,#fffdf9)}.visual-fantasy-card{border-color:#5a4b8a42;background:radial-gradient(circle at 78% 20%,rgba(90,75,138,.18),transparent 20%),linear-gradient(145deg,#f4f0fb,#fffdf9)}.fantasy-card-top{justify-content:space-between;align-items:center}.fantasy-card-top span,.fantasy-card-top em{padding:7px 10px;border:1px solid rgba(90,75,138,.22);border-radius:999px;background:#fffdf9cc;color:#4c3f79;font-size:12px;font-style:normal;font-weight:900}.visual-fantasy-card>strong{font-size:clamp(30px,5vw,44px)}.fantasy-card-lines{display:grid}.fantasy-card-lines i{padding:9px 0;border-top:1px solid rgba(90,75,138,.15);color:#5d536f;font-style:normal;font-weight:800}.visual-fantasy-card>small{position:absolute;right:22px;bottom:16px;color:#5a4b8a3d;font-size:74px}.visual-tmi-card{background:linear-gradient(90deg,rgba(138,90,53,.05) 1px,transparent 1px) 0 0 / 22px 22px,linear-gradient(0deg,rgba(138,90,53,.05) 1px,transparent 1px) 0 0 / 22px 22px,#fffaf3}.memo-board{display:grid;grid-template-columns:1fr 1fr;gap:10px}.memo-board em{min-height:78px;padding:12px;border:1px solid #e6d8c8;border-radius:7px;background:#fffdf9;color:#5c4c3d;font-size:13px;font-style:normal;font-weight:900;box-shadow:0 8px 18px #3e2d1d0f}.memo-board em:nth-child(2){transform:rotate(1.4deg)}.memo-board em:nth-child(3){transform:rotate(-1deg)}.birthday-chapter-copy h1{margin:8px 0 14px;color:#28231f;font-size:clamp(36px,7vw,58px);line-height:1.16}.birthday-chapter-copy p:not(.eyebrow){margin:0;color:var(--blog-muted);font-size:18px;line-height:1.8}.birthday-chapter-copy small{display:inline-block;margin-top:18px;color:#8c8075;font-size:13px}.eyebrow{margin:0;color:var(--blog-brown);font-size:13px;font-weight:800}.chapter-heading-row{display:flex;margin-bottom:14px;align-items:center;justify-content:space-between;gap:12px}.chapter-heading-row h2{margin:0;color:#302c28;font-size:clamp(24px,4vw,34px)}.chapter-heading-row a{flex:none;color:var(--blog-accent);font-size:14px;font-weight:800;text-decoration:none}.chapter-lead{margin:0 0 16px;color:var(--blog-muted);font-size:16px;line-height:1.8}.birthday-chapter-indicator{position:fixed;top:76px;right:18px;z-index:4;display:grid;gap:7px}.birthday-chapter-indicator a{padding:6px 9px;border:1px solid rgba(222,211,197,.9);border-radius:999px;background:#fffdf9db;color:#6b5e53;font-size:12px;font-weight:800;text-decoration:none}.birthday-chapter-indicator a.active{border-color:var(--blog-accent);background:#edf5f1;color:var(--blog-accent-dark)}.birthday-final-chapter{min-height:70svh}.birthday-detail-hero{display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;margin:18px 0 16px;padding:26px;border:1px solid var(--blog-line);border-radius:8px;align-items:center;background:var(--birthday-bg, #fffaf3)}.birthday-detail-hero p{margin:0;color:var(--blog-brown);font-size:13px;font-weight:800}.birthday-detail-hero h1{margin:8px 0 7px;color:#28231f;font-size:clamp(30px,6vw,44px);line-height:1.25}.birthday-detail-hero span{display:inline-block;color:#5e554d;font-size:15px;font-weight:800}.birthday-detail-lead{max-width:720px;margin-top:14px!important;color:var(--blog-muted)!important;font-size:16px!important;font-weight:400!important;line-height:1.8}.birthday-quick-nav{position:sticky;top:70px;z-index:3;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:10px;border:1px solid var(--blog-line);border-radius:8px;background:#faf7f2f2;backdrop-filter:blur(8px)}.birthday-quick-nav a{padding:7px 10px;border:1px solid #dfd3c5;border-radius:999px;background:#fffdf9;color:#604d3d;font-size:13px;font-weight:800;text-decoration:none}.birthday-quick-nav a:hover{border-color:#c8b39c;color:var(--blog-accent)}.birthday-detail-section{margin-bottom:14px;border:1px solid var(--blog-line);border-radius:8px;background:var(--blog-surface)}.birthday-detail-section h2{margin:0 0 14px;color:#302c28;font-size:21px}.birthday-card-grid-after{margin-top:14px}.birthday-small-strong{font-size:15px!important;line-height:1.6!important}.birthday-bottom-search{margin-top:18px;padding:24px;border:1px solid var(--blog-line);border-radius:8px;background:#fffaf3;text-align:center}.birthday-bottom-search h2{margin:0 0 8px;color:#302c28;font-size:22px}.birthday-bottom-search p{margin:0 0 16px;color:var(--blog-muted);line-height:1.7}.birthday-section-tabs{position:sticky;top:70px;z-index:3;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:10px;border:1px solid var(--blog-line);border-radius:8px;background:#faf7f2f2;backdrop-filter:blur(8px)}.birthday-section-tabs a{padding:7px 10px;border:1px solid #dfd3c5;border-radius:999px;background:#fffdf9;color:#604d3d;font-size:13px;font-weight:800;text-decoration:none}.birthday-section-tabs a.active,.birthday-section-tabs a:hover{border-color:var(--blog-accent);color:var(--blog-accent)}.birthday-section-hero{grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr)}.birthday-bottom-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.birthday-invalid{width:min(760px,calc(100% - 32px));margin:48px auto}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.filter-bar form{display:flex;flex:1 1 320px;gap:8px}.filter-bar input,.filter-bar select,.editor-form input,.editor-form textarea,.editor-form select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #cbd4d0;border-radius:7px;background:#fff;font:inherit}.button{display:inline-flex;min-height:40px;padding:8px 14px;border:1px solid #aeb8b3;border-radius:6px;align-items:center;justify-content:center;background:#fff;color:#26302b;font:inherit;font-size:14px;font-weight:800;text-decoration:none;cursor:pointer}.button.primary{border-color:var(--blog-accent);background:var(--blog-accent);color:#fff}.button.danger{border-color:#b45050;color:#9b3131}.article-shell{width:min(760px,calc(100% - 32px));margin:0 auto;padding:42px 0 78px}.article-header{padding-bottom:8px}.article-header h1{margin:12px 0;color:#252525;font-size:40px;line-height:1.34}.article-header .article-meta{justify-content:flex-start}.article-lead{margin:16px 0 26px;color:var(--blog-muted);font-size:18px;line-height:1.8}.article-cover{width:100%;max-height:460px;margin-bottom:34px;border-radius:8px;object-fit:cover}.article-content{color:#252525;font-size:17px;line-height:1.92}.article-content h2,.article-content h3{margin:2em 0 .7em;line-height:1.45}.article-content h2{padding-bottom:8px;border-bottom:1px solid var(--blog-line);color:#2c2925;font-size:25px}.article-content h3{color:#35312c;font-size:21px}.article-content p,.article-content ul,.article-content ol,.article-content blockquote,.article-content pre,.article-content table{margin:0 0 1.4em}.article-content blockquote{padding:4px 0 4px 18px;border-left:3px solid #b99573;color:#665c52}.article-content pre{overflow:auto;padding:16px;border-radius:5px;background:#28241f;color:#f3f5f4;font-size:14px}.article-content table{display:block;width:100%;overflow-x:auto;border-collapse:collapse}.article-content th,.article-content td{padding:9px 10px;border:1px solid #d8d0c5;text-align:left}.article-content th{background:#f5efe7}.article-content img{max-width:100%;height:auto;border-radius:8px}.article-image{margin:34px 0;text-align:center}.article-image img{display:block;width:auto;max-width:100%;margin:0 auto}.article-image figcaption{margin-top:10px;color:#737e79;font-size:13px;line-height:1.6}.image-marker-warning{margin:18px 0;padding:12px 14px;border:1px dashed #c68d55;border-radius:6px;background:#fff9f1;color:#8a4d1d;font-size:13px}.related-forms{margin-top:36px;padding:18px;border:1px solid var(--blog-line);border-radius:8px;background:var(--blog-surface)}.related-forms h2{margin:0 0 8px;font-size:18px}.admin-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:34px 0 72px}.admin-heading,.editor-toolbar,.editor-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-table-wrap{overflow-x:auto;margin-top:18px;border:1px solid var(--blog-line);border-radius:8px;background:var(--blog-surface);box-shadow:0 1px 5px #3c2d1e0a}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid #e2e5e3;text-align:left;font-size:14px}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;margin-top:18px}.editor-main,.editor-side{display:grid;gap:14px;padding:20px;border:1px solid var(--blog-line);border-radius:8px;background:var(--blog-surface);box-shadow:0 1px 5px #3c2d1e0a}.editor-side{align-content:start}.editor-form label{display:grid;gap:7px;font-size:13px;font-weight:800}.markdown-editor{min-height:520px;resize:vertical;padding:14px!important;border-top-left-radius:0!important;border-top-right-radius:0!important;font-family:Consolas,Courier New,monospace!important;line-height:1.7}.markdown-field{min-width:0}.markdown-field-heading,.markdown-preview-heading{display:flex;margin-bottom:8px;align-items:center;justify-content:space-between;gap:12px}.markdown-field-heading label{font-size:13px;font-weight:800}.markdown-field-heading span,.markdown-preview-heading span{color:#7a847f;font-size:12px}.markdown-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:7px;border:1px solid #cbd4d0;border-bottom:0;border-radius:7px 7px 0 0;background:#f6f8f7}.markdown-toolbar button{min-width:38px;height:34px;padding:0 10px;border:1px solid #d1d9d5;border-radius:5px;background:#fff;color:#34413b;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.markdown-toolbar button:hover{border-color:#8eb5a5;color:var(--blog-accent-dark)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.markdown-insert-result{margin-top:10px;padding:12px;border:1px solid #dce4e0;border-radius:7px;background:#f7faf8}.markdown-insert-result label{display:block;margin-bottom:7px;font-size:12px;font-weight:800}.markdown-insert-result>div{display:flex;gap:8px}.markdown-insert-result .button{flex:none}.markdown-preview-panel{border:1px solid var(--blog-line);border-radius:8px;background:#fbfcfb}.markdown-preview-heading{margin:0;padding:12px 14px;border-bottom:1px solid var(--blog-line)}.markdown-preview-heading h2{margin:0;font-size:15px}.markdown-preview{min-height:180px;max-height:640px;overflow:auto;padding:22px;background:#fff;font-size:15px}.image-manager{padding:20px;border:1px solid var(--blog-line);border-radius:8px;background:#fbfcfb}.image-manager-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.image-manager-actions{display:flex;flex:none;flex-wrap:wrap;justify-content:flex-end;gap:8px}.image-manager-heading h2{margin:0 0 5px;font-size:17px}.image-manager-heading p{margin:0;color:var(--blog-muted);font-size:13px;line-height:1.6}.image-dropzone{display:grid;min-height:104px;margin-top:16px;padding:18px;border:1px dashed #aebdb5;border-radius:7px;place-items:center;align-content:center;gap:5px;background:#f4f8f6;color:#405049;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.image-dropzone:hover,.image-dropzone:focus-visible,.image-dropzone.is-dragging{border-color:var(--blog-accent);outline:0;background:#eaf4f0}.image-dropzone span{color:#77817c;font-size:12px}.image-upload-status{min-height:22px;margin:10px 0 0;color:var(--blog-muted);font-size:13px}.image-marker-alert{margin-top:8px;padding:10px 12px;border:1px solid #dfb47f;border-radius:6px;background:#fff9f1;color:#864e1e;font-size:13px;line-height:1.6}.image-card-list{display:grid;gap:12px;margin-top:14px}.image-card{display:grid;grid-template-columns:190px minmax(0,1fr);overflow:hidden;border:1px solid #dce4e0;border-radius:8px;background:#fff}.image-card-preview{display:grid;min-height:190px;place-items:center;background:#edf1ef}.image-card-preview img{width:100%;height:100%;max-height:260px;object-fit:contain;background:#f7f8f7}.image-card-preview span{color:#7a847f;font-size:13px;font-weight:700}.image-card-body{min-width:0;padding:16px}.image-file-info{display:grid;gap:5px;margin:0 0 14px}.image-file-info div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px}.image-file-info dt{color:#747e79;font-size:11px;font-weight:700}.image-file-info dd{min-width:0;margin:0;overflow:hidden;color:#3e4944;font:12px/1.45 Consolas,Courier New,monospace;text-overflow:ellipsis;white-space:nowrap}.image-card-fields{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(180px,1fr);gap:10px}.image-card-fields label:last-child{grid-column:1 / -1}.image-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.image-card-actions .button{min-height:36px;padding:6px 10px;font-size:12px}.image-card-actions .button:disabled{opacity:.5;cursor:not-allowed}.image-list-empty{margin:14px 0 0;padding:18px;color:#7b8580;text-align:center}.preview-empty{color:#87908c;text-align:center}.admin-modal-backdrop{position:fixed;inset:0;z-index:40;display:none;padding:24px;align-items:center;justify-content:center;background:#161f1b94}.admin-modal-backdrop.is-open{display:flex}.admin-modal{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:22px;border-radius:8px;background:#fff;box-shadow:0 20px 60px #0c1c153d}.admin-modal header,.admin-modal-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-modal h2{margin:0 0 5px;font-size:21px}.admin-modal header p{margin:0;color:var(--blog-muted);font-size:13px}.admin-modal textarea{width:100%;min-height:380px;margin-top:18px;padding:14px;border:1px solid #cbd4d0;border-radius:7px;font:14px/1.65 Consolas,Courier New,monospace;resize:vertical}.icon-close{flex:none;width:36px;height:36px;border:0;border-radius:50%;background:#eef2f0;color:#46524c;font-size:24px;line-height:1;cursor:pointer}.ai-draft-error{min-height:22px;margin:8px 0;color:#a13939;font-size:13px}.admin-modal-actions{justify-content:flex-end}.form-message{min-height:22px;margin:12px 0 0;color:#9b3131;font-size:14px}.status-badge{display:inline-block;padding:3px 7px;border:1px solid #aeb8b3;border-radius:999px;font-size:12px}.status-badge.published{border-color:#70a49d;color:#0f655e}@media(max-width:900px){.site-header-inner{min-height:58px}.site-header nav{justify-content:flex-end}.article-list,.editor-grid,.birthday-tool{grid-template-columns:1fr}.birthday-chapter{min-height:90svh;padding:34px 18px;scroll-snap-align:none}.birthday-chapter-inner,.birthday-chapter:nth-of-type(odd) .birthday-chapter-inner{grid-template-columns:1fr}.birthday-chapter-indicator{position:sticky;top:0;right:auto;display:flex;overflow-x:auto;padding:8px 12px;background:#faf7f2f2}.birthday-detail-hero,.hub-card-grid{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.blog-intro h1,.article-header h1{font-size:30px}.article-card{grid-template-columns:110px minmax(0,1fr)}.hub-card{min-height:0}.article-card-body{padding:13px}.site-header-inner{width:min(100% - 24px,1180px);min-height:auto;padding:10px 0;align-items:flex-start;flex-direction:column;gap:8px}.site-logo{font-size:17px}.site-header nav a{padding:7px 6px;font-size:13px}.category-grid{grid-template-columns:1fr}.birthday-search-shell{min-height:calc(100svh - 92px);padding-top:18px;padding-bottom:32px}.birthday-search-center{text-align:left}.birthday-intro{text-align:center}.birthday-form-panel{padding:24px}.birthday-form-panel form{grid-template-columns:1fr}.birthday-form-panel button{min-height:50px}.birthday-meaning-grid{grid-template-columns:1fr}.birthday-meaning-grid div{min-height:auto}.birthday-meaning-grid div:last-child{border-bottom:1px solid var(--blog-line)}.birthday-card-grid,.fantasy-grid,.birthday-hero-card{grid-template-columns:1fr}.birthday-symbol{width:64px;height:64px;font-size:28px}.birthday-quick-nav{position:static}.birthday-section-hero{grid-template-columns:1fr}.editor-toolbar,.admin-heading{align-items:flex-start;flex-direction:column}.editor-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.markdown-field-heading,.markdown-insert-result>div{align-items:stretch;flex-direction:column}.markdown-editor{min-height:430px}.image-manager{padding:15px}.image-manager-heading,.image-manager-actions,.image-card-actions{align-items:stretch;flex-direction:column}.image-card{grid-template-columns:1fr}.image-card-preview{min-height:170px}.image-card-fields{grid-template-columns:1fr}.image-card-fields label:last-child{grid-column:auto}.admin-modal-backdrop{padding:12px}.admin-modal{max-height:calc(100vh - 24px);padding:16px}.admin-modal textarea{min-height:300px}}@media(prefers-reduced-motion:reduce){.birthday-chapter,.birthday-chapter .birthday-meaning-grid div,.birthday-chapter .birthday-card-grid article,.birthday-chapter .fantasy-grid article{opacity:1!important;transform:none!important;transition:none!important}.birthday-story,.birthday-chapter-shell{scroll-snap-type:none}}@media print{.site-header{display:none!important}}
