/* common.css — shared identical rules extracted from templates */

#dog-body-wrapper {animation:dog-climb .8s infinite ease-in-out}
* {margin:0;padding:0;box-sizing:border-box}
.entry .time {font-size:11px;color:#a89f92;margin-top:2px}
.essay-card {background:var(--card);border-radius:var(--r);box-shadow:var(--shadow-card);border:1px solid var(--line)}
.header .nav {display:flex;gap:12px;align-items:center}
.header .nav a {color:#fff;text-decoration:none;font-size:14px;opacity:.8}
.header .nav a:hover {opacity:1}
.input-group {margin-bottom:25px}
.input-group input {width:100%;padding:15px 18px;font-size:16px;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;background:#fcfcfc;transition:all .3s}
.input-group input:focus {outline:none;border-color:#111;background:#fff;box-shadow:0 0 0 3px rgba(0,0,0,.06)}
.input-group label {display:block;font-size:14px;margin-bottom:8px;color:#666;font-weight:500}
.left-section.looking #dog-head {transform:scaleX(-1) rotate(-12deg) translate(-2px,-3px)}
.left-section.looking #dog-tail {animation-duration:.3s}
.left-section.looking .ladder-anim,.left-section.looking #dog-body-wrapper,.left-section.looking .leg-a,.left-section.looking .leg-b {animation-play-state:paused}
.left-section.looking-pwd #dog-head {transform:scaleX(-1) rotate(-6deg) translate(-2px,-1px)}
.left-section.looking-user #dog-head {transform:scaleX(-1) rotate(-18deg) translate(-2px,-4px)}
.login-btn:hover {background:#444}
.modal-overlay.active {display:flex}
.remember {display:flex;align-items:center;gap:6px;font-size:13px;color:#888;margin-bottom:0;cursor:pointer}
.remember input {width:auto;margin:0;padding:0}
.reveal {opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.reveal.visible {opacity:1;transform:none}
.source-card .label {font-size:11px;font-weight:700;letter-spacing:2px;color:var(--gray);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.source-card .label::after {content:"";flex:1;height:1px;background:var(--line)}
.source-item {display:flex;align-items:center;gap:8px;padding:7px 0;font-size:12.5px;color:rgba(11,79,108,.75); border-bottom:1px dashed var(--line);text-decoration:none}
.source-item .book {flex-shrink:0;font-size:13px}
.source-item .go {flex-shrink:0;font-size:11px;color:var(--orange);font-weight:600;cursor:pointer}
.source-item .t {flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.source-item:last-child {border-bottom:none}
.svg-container {width:100%;height:100%;display:block}
.tabs a.active {background:#083a50;color:#fff}
.toast.show {opacity:1}
.topic-badge {display:inline-flex;align-items:center;gap:5px;margin:18px 20px 0; font-size:11px;font-weight:600;color:var(--orange-deep); background:var(--orange-soft);border:1px solid rgba(255,122,26,.25); padding:4px 12px;border-radius:999px;letter-spacing:1px}
.topic-badge .dot {width:6px;height:6px;border-radius:50%;background:var(--orange);animation:pulse 2s infinite}
.topic-card::before {content:"";position:absolute;top:0;left:0;right:0;height:4px; background:linear-gradient(90deg,var(--orange),var(--gold))}
.topic-hints {margin:0 20px 18px;padding:14px 16px;background:var(--ink-06);border-radius:8px;border-left:3px solid var(--ink)}
.topic-hints .label {font-size:11px;font-weight:700;letter-spacing:2px;color:var(--ink);margin-bottom:8px}
.topic-hints li {font-size:13px;line-height:1.8;color:rgba(11,79,108,.72);list-style:none;padding-left:20px;position:relative}
.topic-hints li::before {content:attr(data-n);position:absolute;left:0;top:2px;font-size:11px;font-weight:700;color:var(--orange);font-family:var(--serif)}
.topic-prompt {font-size:14px;line-height:1.9;color:rgba(11,79,108,.78);margin:0 20px 16px}
.topic-theme {font-family:var(--serif);font-size:22px;font-weight:900;line-height:1.5;letter-spacing:1px;margin:14px 20px 10px;color:var(--ink-deep)}
/* 灵感来源 */ .source-card {margin:0 16px 16px;padding:14px 16px}
html {scroll-behavior:smooth}
