/* Goal100 Print it (job print3d, Nov 14, 2026). Gallery, challenges, tactile and library pages + the course "Print it" button.
   Uses site.css colors. Text never moves after its short entry fade (under 600 ms). */
.p3-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;align-items:center;margin:18px 0 8px}
@media (max-width:760px){.p3-hero{grid-template-columns:1fr}}
.p3-hero h1{font-size:clamp(1.7rem,5.5vw,2.6rem);line-height:1.12;margin:6px 0}
.p3-hero svg{width:100%;height:auto;max-height:260px}
.p3-warn{border:2px solid var(--warn,#9A6400);background:var(--warn-soft,#FBEFD6);color:var(--ink,#18192B);border-radius:16px;padding:12px 16px;margin:12px 0}
.p3-warn b{font-weight:800}
.p3-warn ul{margin:6px 0 0;padding-left:1.2em}
.p3-filters{display:flex;flex-direction:column;gap:10px;margin:14px 0;padding:14px;border:2px solid var(--line,#D9DBEA);border-radius:18px;background:var(--card,#fff)}
.p3-filters .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.p3-filters .lbl{font-weight:800;min-width:70px}
.p3-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:44px;padding:6px 14px;border-radius:999px;border:2px solid var(--line,#D9DBEA);background:var(--card,#fff);color:var(--ink,#18192B);font:700 .98rem var(--body,inherit);cursor:pointer}
.p3-chip[aria-pressed="true"]{border-color:var(--brand,#2B2A8C);background:var(--brand-soft,#E4E4F7)}
.p3-search{min-height:46px;font-size:16px;border-radius:12px;border:2px solid var(--line,#D9DBEA);padding:6px 12px;flex:1 1 220px;min-width:0;background:var(--card,#fff);color:var(--ink,#18192B)}
.p3-count{font-weight:700}
.p3-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));margin:10px 0 24px}
.p3-card{background:var(--card,#fff);border:2px solid var(--line,#D9DBEA);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:8px;min-width:0;animation:p3in .35s ease both}
.p3-card.hl{border-color:var(--brand,#2B2A8C);box-shadow:0 0 0 4px var(--brand-soft,#E4E4F7)}
.p3-card h3{font-size:1.12rem;line-height:1.25;margin:0;overflow-wrap:anywhere}
.p3-card p{margin:0}
.p3-ico{font-size:1.8rem;line-height:1}
.p3-badges{display:flex;flex-wrap:wrap;gap:6px}
.p3-b{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font:700 .8rem var(--body,inherit);background:var(--brand-soft,#E4E4F7);color:var(--ink,#18192B)}
.p3-b.t{background:var(--warn-soft,#FBEFD6)}
.p3-set{border:1px dashed var(--line,#D9DBEA);border-radius:14px;padding:8px 12px}
.p3-set summary{cursor:pointer;font-weight:800;min-height:44px;display:flex;align-items:center}
.p3-set dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:6px 0 0}
.p3-set dt{font-weight:700}
.p3-set dd{margin:0}
.p3-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.p3-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:8px 16px;border-radius:14px;border:2px solid var(--brand,#2B2A8C);background:var(--brand,#2B2A8C);color:var(--brand-ink,#fff);font:800 1rem var(--body,inherit);text-decoration:none;cursor:pointer}
.p3-btn.ghost{background:transparent;color:var(--ink,#18192B);border-color:var(--line,#D9DBEA)}
.p3-view{position:relative;height:clamp(240px,62vw,360px);border-radius:16px;overflow:hidden;background:radial-gradient(120% 100% at 30% 10%,#2C2F63 0%,#14162a 70%);touch-action:none;cursor:grab}
.p3-view canvas{display:block;width:100%;height:100%}
.p3-view .p3-vnote{position:absolute;left:8px;bottom:8px;right:8px;color:#fff;font:600 .85rem var(--body,inherit);text-shadow:0 1px 2px #000;pointer-events:none}
.p3-method{font-size:.95rem}
.p3-links{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));margin:12px 0}
.p3-links a{display:flex;flex-direction:column;gap:4px;padding:14px;border:2px solid var(--line,#D9DBEA);border-radius:16px;text-decoration:none;color:var(--ink,#18192B);background:var(--card,#fff);min-height:44px}
.p3-links a b{font-size:1.05rem}
.p3-sec{margin:22px 0}
.p3-sec h2{margin:0 0 8px}
.p3-table{width:100%;border-collapse:collapse;font-size:.95rem}
.p3-table th,.p3-table td{border:1px solid var(--line,#D9DBEA);padding:8px;text-align:left;vertical-align:top}
.p3-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.p3-print-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 14px;margin:8px 8px 0 0;border-radius:999px;border:2px solid #F2A93B;background:#FDEDD0;color:#3A2600;font:800 .95rem var(--body,inherit);text-decoration:none}
.p3-print-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.p3-print-row .small{font-size:.85rem}
@keyframes p3in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.p3-card{animation:none}}
html[data-motion="off"] .p3-card{animation:none}
@media print{.p3-filters,.p3-acts,.p3-view{display:none!important}}
