Spaces:
Running on Zero
Running on Zero
File size: 17,948 Bytes
86b17ed 6f034fb 86b17ed | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | /* ========================= ACTION — page-specific overrides ========================= */
/* Hero variant — the figure wants to stand tall on the right, not fill-bleed */
.v-hero.v-action .stage{min-height:calc(100vh - 122px);background:radial-gradient(ellipse at 75% 60%, #1a1a1a 0%, #0A0A0A 55%)}
.v-hero.v-action .bg{display:none}
.v-hero.v-action .grid-lines{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:80px 80px;opacity:0.35;pointer-events:none;mask-image:radial-gradient(ellipse at 70% 50%, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 75%);-webkit-mask-image:radial-gradient(ellipse at 70% 50%, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 75%)}
/* Standing figure presentation zone */
.figure-stage{position:absolute;right:4%;top:0;bottom:0;width:48%;display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:none}
.figure-stage .figure-img{max-height:86%;max-width:100%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 60px 60px rgba(0,0,0,0.8)) drop-shadow(0 0 0 transparent)}
.figure-stage .plinth{position:absolute;bottom:6%;left:10%;right:10%;height:120px;background:radial-gradient(ellipse at center, rgba(255,45,30,0.18) 0%, rgba(255,45,30,0) 70%);filter:blur(20px);z-index:-1}
.figure-stage .floor{position:absolute;bottom:6%;left:10%;right:10%;height:1px;background:linear-gradient(90deg, transparent, var(--line-2) 20%, var(--line-2) 80%, transparent)}
/* Crosshair / reticle around figure */
.figure-crop{position:absolute;width:22px;height:22px;border:2px solid var(--accent);z-index:3}
.figure-crop.tl{top:8%;left:2%;border-right:0;border-bottom:0}
.figure-crop.tr{top:8%;right:2%;border-left:0;border-bottom:0}
.figure-crop.bl{bottom:8%;left:2%;border-right:0;border-top:0}
.figure-crop.br{bottom:8%;right:2%;border-left:0;border-top:0}
/* The left-side content */
.v-hero.v-action .left{width:52%;padding:60px 56px}
.v-hero.v-action h1{font-size:clamp(88px,13vw,180px);margin:12px 0 0;line-height:0.82;letter-spacing:-0.04em}
.v-hero.v-action .lead{max-width:480px}
.v-hero.v-action .side{display:none}
/* Figure callout chip — short label + stub line + dot pinned to an articulation point.
Lives inside .figure-img-wrap so `top`/`right` are image-relative. The container is
shifted up by half its height so `top` refers to the dot's vertical centre. */
.callout{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;transform:translateY(-50%);font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.22em;color:var(--muted);text-transform:uppercase}
.callout .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(255,45,30,0.2);flex-shrink:0}
.callout .line{width:40px;height:1px;background:var(--line-2);flex-shrink:0}
.callout .lbl{background:rgba(10,10,10,0.85);border:1px solid var(--line-2);padding:4px 8px;border-radius:3px;backdrop-filter:blur(6px);color:var(--text);white-space:nowrap}
.callout.left-side{flex-direction:row-reverse}
.callout.left-side .line{transform:rotate(180deg)}
/* Vertical side rail, right edge */
.side-rail{position:absolute;right:18px;top:60px;bottom:60px;z-index:5;display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.3em;color:var(--muted-2);text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);pointer-events:none}
.side-rail .tick{width:6px;height:1px;background:var(--line-2);margin:10px 0;transform:rotate(180deg)}
/* ========================= STUDIO VARIANT — figure grid backdrop ========================= */
.v-action.v-studio-figs .stage{padding:40px 28px 60px}
.v-action.v-studio-figs .fig-backdrop{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:2px;filter:saturate(0.92) brightness(0.6)}
.v-action.v-studio-figs .fig-backdrop .tile{position:relative;overflow:hidden;background:#0d0d0d}
.v-action.v-studio-figs .fig-backdrop .tile img{width:100%;height:100%;object-fit:cover;object-position:center}
.v-action.v-studio-figs .fig-backdrop::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center, rgba(10,10,10,0.4) 0%, rgba(10,10,10,0.88) 55%, rgba(10,10,10,1) 100%)}
/* ========================= BLISTER PACK VARIANT ========================= */
.v-blister .stage{position:relative;min-height:calc(100vh - 122px);padding:48px 28px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(180deg, #0A0A0A 0%, #111 100%)}
.v-blister .bp-backdrop{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:80px 80px;opacity:0.3;mask-image:radial-gradient(ellipse at center, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 75%);-webkit-mask-image:radial-gradient(ellipse at center, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 75%)}
.blister{position:relative;z-index:5;width:min(1100px,94vw);height:min(720px,88vh);background:linear-gradient(180deg, #FF2D1E 0%, #D32515 100%);background:var(--accent);border-radius:4px;display:grid;grid-template-columns:1.3fr 1fr;gap:0;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,0.8), inset 0 0 0 2px rgba(0,0,0,0.2)}
.blister::before{content:"";position:absolute;inset:14px;border:2px dashed rgba(0,0,0,0.35);border-radius:2px;pointer-events:none;z-index:1}
.blister .header{position:absolute;top:28px;left:34px;right:34px;z-index:3;display:flex;justify-content:space-between;align-items:center}
.blister .header .wm{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:condensed;font-size:44px;letter-spacing:-0.02em;color:#fff;line-height:1}
.blister .header .series{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.24em;color:rgba(255,255,255,0.85);text-transform:uppercase;text-align:right;line-height:1.5}
.blister .header .series b{display:block;font-size:14px;color:#fff}
.blister .bubble{position:relative;margin:88px 20px 80px 40px;background:rgba(255,255,255,0.12);border:2px solid rgba(255,255,255,0.25);border-radius:10px;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;overflow:hidden}
.blister .bubble::before{content:"";position:absolute;top:8px;left:8px;right:40%;height:40%;background:linear-gradient(135deg, rgba(255,255,255,0.25) 0%, rgba(255,255,255,0) 100%);border-radius:8px;pointer-events:none}
.blister .bubble img{max-height:86%;max-width:90%;object-fit:contain;filter:drop-shadow(0 20px 30px rgba(0,0,0,0.5))}
.blister .bubble .base{position:absolute;bottom:0;left:0;right:0;height:70px;background:repeating-linear-gradient(45deg, rgba(0,0,0,0.15) 0 8px, rgba(0,0,0,0) 8px 16px);border-top:1px solid rgba(0,0,0,0.2)}
.blister .card-copy{padding:88px 40px 80px 20px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;z-index:2}
.blister .card-copy .big{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:condensed;font-size:clamp(52px,6vw,82px);line-height:0.86;letter-spacing:-0.03em;margin:0 0 14px}
.blister .card-copy .tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.24em;text-transform:uppercase;margin-bottom:6px;opacity:0.8}
.blister .card-copy .lead{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.04em;line-height:1.7;text-transform:uppercase;color:rgba(255,255,255,0.9);margin:0 0 18px;max-width:320px}
.blister .drop-b{background:#0A0A0A;border:2px solid #000;border-radius:6px;padding:20px;color:#fff}
.blister .drop-b .dp{border:1px dashed rgba(255,255,255,0.3);border-radius:4px;padding:20px 16px;text-align:center;cursor:pointer;transition:border-color .18s, background .18s}
.blister .drop-b .dp.over{border-color:#fff;background:rgba(255,255,255,0.06)}
.blister .drop-b .dp .t{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.22em;text-transform:uppercase}
.blister .drop-b .dp .s{margin-top:6px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.22em;color:var(--muted);text-transform:uppercase}
.blister .drop-b .sel{margin-top:12px;width:100%;padding:12px;background:var(--accent);color:#fff;border-radius:999px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;border:none;cursor:pointer}
.blister .ages{position:absolute;bottom:24px;left:34px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.24em;color:#fff;text-transform:uppercase}
.blister .ages b{background:#fff;color:var(--accent);padding:3px 6px;margin-right:6px;font-weight:800}
.blister .barcode{position:absolute;bottom:24px;right:34px;display:flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.24em;color:rgba(255,255,255,0.9);text-transform:uppercase}
.blister .barcode .bc{display:flex;gap:2px;align-items:flex-end;height:26px}
.blister .barcode .bc span{display:inline-block;width:2px;height:100%;background:#fff}
.blister .barcode .bc span:nth-child(2n){width:1px;height:70%}
.blister .barcode .bc span:nth-child(3n){height:85%}
/* ========================= SAMPLE STRIP (inline hero — v1 / enlarged) ========================= */
.sample-strip{margin-top:44px;max-width:none;width:calc(100% - 4px)}
.sample-head{display:flex;justify-content:space-between;align-items:center;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.26em;color:var(--muted);text-transform:uppercase;margin-bottom:16px;padding-top:16px;border-top:1px solid var(--line)}
.sample-head .count{color:var(--text)}
.sample-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sample-card{position:relative;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line-2);border-radius:10px;background:radial-gradient(ellipse at 50% 70%, #1c1c1c 0%, #0b0b0b 70%);box-shadow:0 20px 40px rgba(0,0,0,0.4);transition:transform .3s, border-color .3s, box-shadow .3s}
.sample-card::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:32px 32px;opacity:0.28;pointer-events:none}
.sample-card::after{content:"";position:absolute;bottom:6%;left:14%;right:14%;height:60px;background:radial-gradient(ellipse at center, rgba(255,45,30,0.22) 0%, rgba(255,45,30,0) 70%);filter:blur(12px);pointer-events:none}
.sample-card img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center;display:block;transition:transform .4s;filter:drop-shadow(0 24px 24px rgba(0,0,0,0.55))}
.sample-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 28px 48px rgba(0,0,0,0.5)}
.sample-card:hover img{transform:scale(1.04)}
.sample-card .s-tag{position:absolute;top:10px;left:10px;z-index:2;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.24em;text-transform:uppercase;padding:4px 8px;background:rgba(0,0,0,0.75);border:1px solid var(--line-2);border-radius:3px;color:var(--text)}
.sample-card .s-meta{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:14px 14px 12px;background:linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.92) 70%);font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.22em;color:var(--muted);text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.sample-card .s-meta .n{color:var(--text);font-size:10px;letter-spacing:0.2em}
/* ========================= FIGURE GRID (examples) ========================= */
.fig-examples{width:min(1280px,94vw);margin:60px auto 40px;position:relative;z-index:5}
.fig-examples-head{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;margin-bottom:18px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.22em;color:var(--muted);text-transform:uppercase}
.fig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fig-grid.fig-grid-3{grid-template-columns:repeat(3,1fr)}
.fig-card{position:relative;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:radial-gradient(ellipse at 50% 70%, #1a1a1a 0%, #0b0b0b 70%)}
.fig-card .fi{width:100%;height:100%;object-fit:contain;object-position:center;display:block;transition:transform .5s}
.fig-card:hover .fi{transform:scale(1.04)}
.fig-card .fi-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:40px 40px;opacity:0.25;pointer-events:none}
.fig-card .fi-tag{position:absolute;top:10px;left:10px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.22em;text-transform:uppercase;padding:4px 7px;background:rgba(0,0,0,0.7);border:1px solid var(--line-2);border-radius:3px;color:#fff}
.fig-card .fi-meta{position:absolute;bottom:0;left:0;right:0;padding:12px;background:linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.9) 70%);font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.22em;color:var(--muted);text-transform:uppercase;display:flex;justify-content:space-between}
.fig-card .fi-meta .n{color:var(--text)}
/* ========================= PROMPT RECIPE SECTION ========================= */
.recipe-sect{width:min(1280px,94vw);margin:60px auto 80px;position:relative;z-index:5;padding:60px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.recipe-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:end;margin-bottom:50px}
.recipe-eyebrow{grid-column:1/-1;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.24em;color:var(--muted);text-transform:uppercase;margin-bottom:6px}
.recipe-h{font-size:clamp(52px,8vw,120px);margin:0;letter-spacing:-0.03em;line-height:0.88}
.recipe-lead{font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.75;color:#c8c8c6;text-transform:uppercase;letter-spacing:0.04em;max-width:520px;margin:0}
.recipe-lead b{color:var(--text);font-weight:600}
.recipe-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}
.recipe-prompt{background:#0b0b0b;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.recipe-prompt .tbar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.22em;color:var(--muted);text-transform:uppercase}
.recipe-prompt .tbar .led{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.recipe-prompt .pbody{padding:24px;font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.85;color:var(--text)}
.recipe-prompt .pbody .key{color:var(--accent);font-weight:700}
.recipe-prompt .pbody .mute{color:var(--muted)}
.recipe-prompt .pbody .br{display:block;height:10px}
.recipe-prompt .pbody .tok{display:inline-block;padding:2px 7px;background:rgba(255,45,30,0.12);border:1px solid rgba(255,45,30,0.35);border-radius:4px;color:var(--accent);font-size:12px;margin:0 2px}
.recipe-prompt .pfoot{margin-top:auto;padding:12px 16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.22em;color:var(--muted);text-transform:uppercase}
.recipe-prompt .pfoot .copy-btn{font-family:inherit;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--text);background:transparent;border:1px solid var(--line-2);padding:6px 12px;border-radius:4px;cursor:pointer}
.recipe-prompt .pfoot .copy-btn:hover{border-color:var(--accent);color:var(--accent)}
.recipe-params{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}
.param-card{background:#0b0b0b;border:1px solid var(--line);border-radius:10px;padding:20px;position:relative;overflow:hidden}
.param-card .pn{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.28em;color:var(--muted-2);text-transform:uppercase;margin-bottom:10px}
.param-card .pv{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:condensed;font-size:42px;line-height:0.9;letter-spacing:-0.02em;color:var(--text)}
.param-card .pv .unit{font-size:16px;color:var(--muted);margin-left:4px;font-family:'JetBrains Mono',monospace;font-weight:400;letter-spacing:0.14em}
.param-card .pd{margin-top:10px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.14em;line-height:1.6;color:var(--muted);text-transform:uppercase}
.param-card .pd .accent{color:var(--accent)}
/* Token strip (trigger words) */
.trigger-strip{grid-column:1/-1;margin-top:16px;background:#0b0b0b;border:1px solid var(--line);border-radius:10px;padding:20px 24px}
.trigger-strip .th{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.22em;color:var(--muted);text-transform:uppercase}
.trigger-strip .tokens{display:flex;flex-wrap:wrap;gap:8px}
.trigger-strip .tokens .tk{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.12em;padding:6px 12px;border:1px solid var(--line-2);border-radius:999px;color:var(--text);background:#101010;cursor:pointer;transition:all .15s}
.trigger-strip .tokens .tk:hover{border-color:var(--accent);color:var(--accent)}
.trigger-strip .tokens .tk.req{background:var(--accent);border-color:var(--accent);color:#fff}
/* Responsive */
@media (max-width: 1100px){
.recipe-grid{grid-template-columns:1fr}
.fig-grid{grid-template-columns:repeat(2,1fr)}
.figure-stage{width:40%;right:2%}
.v-hero.v-action .left{width:60%;padding:40px 30px}
}
@media (max-width: 760px){
.blister{grid-template-columns:1fr;height:auto}
.figure-stage{display:none}
.v-hero.v-action .left{width:100%}
.fig-grid{grid-template-columns:1fr}
}
|