.tm-concept{background:var(--bg);border:1px solid var(--border-mid);border-radius:var(--r-lg);transition:border-color .2s var(--ease), transform .2s var(--ease);flex-direction:column;gap:12px;padding:28px 24px;display:flex}.tm-concept:hover{border-color:var(--ink);transform:translateY(-2px)}.tm-concept-num{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-light);font-size:.7rem;font-weight:600}.tm-concept-title{font-family:var(--font-serif);color:var(--ink);letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700}.tm-concept-body{font-family:var(--font-sans);color:var(--ink-mid);margin:0;font-size:.92rem;line-height:1.55}.tm-concept-tail{border-top:1px solid var(--border);font-family:var(--font-mono);color:var(--ink-light);margin-top:auto;padding-top:12px;font-size:.74rem}.tm-concept-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=1024px){.tm-concept-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.tm-concept-grid{grid-template-columns:1fr}}.tm-step{border-bottom:1px solid var(--border);grid-template-columns:56px 1fr;gap:20px;padding:20px 0;display:grid}.tm-step:last-child{border-bottom:none}.tm-step-num{font-family:var(--font-serif);color:var(--ink);letter-spacing:-.02em;font-size:1.6rem;font-weight:700;line-height:1}.tm-step-content{flex-direction:column;gap:6px;display:flex}.tm-step-title{font-family:var(--font-sans);color:var(--ink);letter-spacing:-.005em;font-size:1rem;font-weight:600}.tm-step-body{font-family:var(--font-sans);color:var(--ink-mid);font-size:.92rem;line-height:1.6}.tm-step-body a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px}.tm-step-body a:hover{color:var(--accent-text)}.tm-recipe{background:var(--bg);border:1px solid var(--border-mid);border-radius:var(--r-lg);margin:28px 0;overflow:hidden}.tm-recipe+.tm-recipe{margin-top:16px}.tm-recipe:last-child{margin-bottom:56px}.tm-recipe[open]{border-color:var(--ink)}.tm-recipe-summary{cursor:pointer;font-family:var(--font-sans);color:var(--ink);-webkit-user-select:none;user-select:none;transition:background .15s var(--ease);align-items:center;gap:10px;padding:14px 18px;font-size:.92rem;font-weight:600;list-style:none;display:flex}.tm-recipe-summary::-webkit-details-marker{display:none}.tm-recipe-summary:hover{background:var(--bg-alt)}.tm-recipe-icon{text-align:center;width:18px;height:18px;font-family:var(--font-mono);color:var(--ink-light);transition:transform .2s var(--ease);font-size:1.1rem;line-height:1;display:inline-block}.tm-recipe[open] .tm-recipe-icon{color:var(--ink);transform:rotate(90deg)}.tm-recipe-body{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:4px 18px 18px;display:flex}.tm-recipe-row{border-bottom:1px solid var(--border);grid-template-columns:140px 1fr;align-items:baseline;gap:14px;padding:10px 0;display:grid}.tm-recipe-row:last-child{border-bottom:none}.tm-recipe-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-light);font-size:.7rem;font-weight:600}.tm-recipe-value{font-family:var(--font-sans);color:var(--ink-mid);font-size:.92rem;line-height:1.55}.tm-recipe-value strong{color:var(--ink);font-weight:600}.tm-recipe-value ul{margin:0;padding-left:18px}.tm-recipe-value li{margin-bottom:4px}@media (width<=720px){.tm-recipe-row{grid-template-columns:1fr;gap:4px}}.tm-chip{font-family:var(--font-mono);background:var(--bg-alt);color:var(--ink);border-radius:4px;padding:2px 6px;font-size:.85em;font-weight:500}
