/* Pinboard texture is CSS-only: no external image or font requests. */
.bulletin-board{margin-top:18px;padding:22px;border:9px solid #7b5a40;border-radius:7px;background-color:#b9966d;background-image:radial-gradient(#61483124 .7px,transparent 1px),radial-gradient(#f4ddba38 .7px,transparent 1px),linear-gradient(135deg,#b9946c,#c6a27c 48%,#ad8865);background-size:9px 9px,13px 13px,auto;background-position:0 0,4px 6px,0 0;box-shadow:inset 0 2px 8px #50392350,0 8px 18px #634b3620}
.board-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;color:#fff7e9}.board-heading>div{display:flex;flex-direction:column;gap:6px}.board-heading strong{font-size:14px;letter-spacing:.05em;font-weight:600;color:#fff9ec}.board-kicker,.board-count{font:600 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em;color:#f7e7ce}.board-count{padding-top:3px;white-space:nowrap}
.board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 18px;padding:23px 3px 10px;align-items:stretch}.board-note,.board-sample{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0;min-height:170px;padding:22px 17px 14px;border:1px solid #e4d7bd;border-radius:1px;background:#fff9e9;color:#59493c;box-shadow:0 4px 8px #59452e35,1px 9px 12px #59452e1d;transform:rotate(-.7deg);transition:transform .18s,box-shadow .18s}.board-note:nth-child(2n),.board-sample:nth-child(2n){transform:rotate(.7deg)}.board-note:hover,.board-note:focus-visible{transform:rotate(0) translateY(-3px);box-shadow:0 8px 15px #4b382f42;filter:none}.board-note:focus-visible{outline:3px solid #344c49;outline-offset:3px}
.board-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:170px;border:1px dashed #f2dfc6b3;border-radius:3px;background:#ffffff0c;color:#fff6e8}.board-add:hover{background:#ffffff20;filter:none}.board-add span{font-size:27px;line-height:1}.board-add strong{font-size:13px;color:inherit}.board-add small{font-size:11px;color:#f9ead7}.board-add:focus-visible{outline:3px solid #344c49;outline-offset:3px}
.note-school{background:#f6f2df}.note-exam{background:#fbeddc}.note-activity{background:#e9efea}.note-study{background:#f6eaca}.note-other,.sample-blue{background:#e8eff0}.note-pin{position:absolute;top:7px;left:50%;width:12px;height:12px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 35% 28%,#f5e8d5 0 12%,#ba765c 22%,#815342 75%);box-shadow:1px 3px 3px #4c382c70}.note-top{display:flex;justify-content:space-between;gap:5px;width:100%;align-items:center}.note-tag{font-size:10px;font-weight:700;color:#9b6b4e;letter-spacing:.04em}.note-late{font-size:10px;color:#a65d48;white-space:nowrap}.board-note strong,.board-sample strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-family:"Songti SC","STSong",serif;font-size:17px;line-height:1.35;color:#53463b;margin:10px 0 5px}.note-date{font:600 10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:#947965}.note-preview,.board-sample p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap;font-size:12px;line-height:1.55;color:#877566;margin:8px 0}.note-footer{font-size:10px;color:#9e846d;margin-top:auto;padding-top:9px}.board-bottom{color:#fff3df;font-size:11px;line-height:1.5;padding:9px 3px 1px}.board-empty{grid-column:1/-1;color:#fff8ec;font-size:13px;padding:18px 3px}.board-detail-kind{display:inline-block;color:#9a765a;font-size:12px}.board-detail h3{font-family:"Songti SC","STSong",serif;font-size:23px;color:#564337;margin:10px 0}.board-detail-date{color:#8d7765;font-size:13px}.board-detail-text{background:#faf3e8;border:1px solid #eadccd;border-radius:7px;padding:14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;color:#5a493c;min-height:70px}
@media(max-width:700px){.bulletin-board{padding:16px;border-width:7px}.board-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:21px 0 8px}.board-note,.board-sample{min-height:160px;padding:21px 12px 12px}.board-note strong,.board-sample strong{font-size:15px}.note-preview,.board-sample p{font-size:11px}}
@media(max-width:350px){.board-grid{grid-template-columns:1fr}.board-note,.board-sample{min-height:135px}}
@media(prefers-reduced-motion:reduce){.board-note,.board-sample{transition:none}.board-note:hover,.board-note:focus-visible{transform:none}}
