/* FUN LAB 03. Monochrome concept patent cards, no distracting sidebar. */
.patent-wrap{max-width:1200px;margin:0 auto;padding-bottom:3rem;color:#171717}
.patent-wrap [hidden]{display:none!important}
.patent-hero{padding:1.7rem 0 1.35rem;border-bottom:1px solid #d2d2d2}
.patent-hero .eyebrow{font-size:.71rem;letter-spacing:.14em}
.patent-hero h1{font-size:clamp(2rem,5.2vw,4.1rem);line-height:1.06;letter-spacing:-.05em;color:#151515;margin:.5rem 0 .7rem}
.patent-hero>p:not(.eyebrow){max-width:740px;color:#5d5d5d;line-height:1.5;margin:0;font-size:.99rem}
.patent-hero-flags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.2rem}
.patent-hero-flags span{border:1px solid #bbb;border-radius:20px;padding:.3rem .7rem;font-size:.72rem;color:#555}
.patent-grid{display:grid;grid-template-columns:minmax(275px,.73fr) minmax(0,1.27fr);gap:1.1rem;padding-top:1.25rem;align-items:start}
.patent-controls,.patent-empty,.patent-result,.patent-favorites{border:1px solid #d5d5d5;border-radius:13px;background:#fff}
.patent-controls{padding:1.3rem}
.patent-controls form{display:grid;gap:.9rem}
.patent-section-kicker{font:.72rem ui-monospace,monospace;letter-spacing:.06em;color:#777;margin:0}
.patent-controls h2{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 .3rem}
.patent-field{display:grid;gap:.4rem;font-size:.8rem;font-weight:720;color:#333}
.patent-field select{border:1px solid #bbb;border-radius:7px;background:white;color:#222;min-height:46px;padding:.6rem;font:inherit}
.patent-realism{border:0;margin:0;padding:0;display:grid;gap:.45rem;min-width:0}
.patent-realism legend{font-size:.82rem;font-weight:740;margin-bottom:.6rem}
.patent-realism label{cursor:pointer;position:relative;display:block;min-width:0}
.patent-realism input{position:absolute;opacity:0;width:1px;height:1px}
.patent-realism label span{display:flex;align-items:center;min-height:41px;padding:.55rem .8rem;border-radius:7px;border:1px solid #c8c8c8;background:#fafafa;font-size:.8rem;font-weight:600;color:#333;transition:background .13s}
.patent-realism input:checked+span{background:#222;color:white;border-color:#222}
.patent-realism input:focus-visible+span{outline:3px solid #888;outline-offset:2px}
.patent-generate,.patent-again{width:100%;min-height:44px;justify-content:center}
.patent-again:disabled{opacity:.48;cursor:not-allowed}
.patent-control-note{border-top:1px solid #dedede;padding-top:.75rem;font-size:.72rem;color:#777;line-height:1.5;margin:0}
.patent-results{display:grid;gap:1rem;min-width:0}
.patent-empty{padding:3.2rem 1.5rem;min-height:380px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column}
.patent-placeholder-art{display:flex;align-items:center;gap:.65rem;justify-content:center;font-size:3.1rem;line-height:1;color:#222;min-height:78px}
.patent-placeholder-art span:nth-child(2){color:#999;font-size:1.6rem}
.patent-placeholder-art span:nth-child(3){font:700 2rem ui-monospace,monospace;border:2px solid #777;border-radius:50%;height:56px;width:56px;display:grid;place-items:center}
.patent-serial{font:700 .65rem ui-monospace,monospace;letter-spacing:.08em;color:#797979;margin:.9rem 0 .5rem;overflow-wrap:anywhere}
.patent-empty h2{font-size:1.55rem;letter-spacing:-.03em;max-width:450px;margin:.4rem 0}
.patent-empty>p:last-child{max-width:380px;color:#666;line-height:1.5;margin:.3rem 0}
.patent-result{padding:1.2rem 1.25rem;scroll-margin-top:5.5rem}
.patent-result-head{display:flex;gap:.7rem;justify-content:space-between;align-items:center}
.patent-save{min-height:38px;white-space:nowrap;border:1px solid #999;border-radius:99px;padding:.35rem .75rem;font-size:.76rem;font-weight:750;background:#fff;color:#222;cursor:pointer}
.patent-save[aria-pressed=true]{background:#222;color:white}
.patent-result h2{font-size:clamp(1.6rem,3.1vw,2.5rem);line-height:1.09;letter-spacing:-.04em;margin:.7rem 0;overflow-wrap:anywhere}
.patent-problem{font-size:.87rem;color:#555;line-height:1.5;max-width:680px;margin:0 0 1rem}
.patent-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.1rem}
.patent-tags span{border:1px solid #c8c8c8;border-radius:5px;background:#f3f3f3;padding:.28rem .48rem;font-size:.69rem;font-weight:650;color:#444}
.patent-diagram-wrap{background:#fff;border:1px solid #ababab;border-radius:6px;overflow:hidden}
.patent-diagram-head{background:#292929;color:#fff;display:flex;justify-content:space-between;gap:.7rem;align-items:center;flex-wrap:wrap;padding:.55rem .8rem}
.patent-diagram-head h3{font-size:.78rem;margin:0;color:#fff}
.patent-diagram-head>span{font:.62rem ui-monospace,monospace;color:#ccc}
.patent-diagram{width:100%;overflow:hidden}
.patent-diagram svg{display:block;width:100%;height:auto;max-width:none}
.patent-small{font-size:.68rem;color:#737373;line-height:1.4;margin:.4rem .6rem .6rem}
.patent-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.3rem;margin-top:1.1rem}
.patent-content-grid section{border-top:1px solid #d8d8d8;padding-top:.65rem;min-width:0}
.patent-content-grid h3{font-size:.85rem;line-height:1.25;margin:.25rem 0 .5rem}
.patent-content-grid p{font-size:.8rem;line-height:1.6;color:#555;margin:0}
.patent-content-grid ul,.patent-content-grid ol{margin:0;padding-left:1.3rem;display:grid;gap:.35rem}
.patent-content-grid li{font-size:.79rem;line-height:1.5;color:#555}
.patent-slogan{padding:1rem 1.2rem;background:#222;color:#fff;border-left:4px solid #858585;border-radius:5px;margin:1.25rem 0 1rem;font-size:1rem;line-height:1.45;font-weight:720}
.patent-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.patent-actions .button{font-size:.72rem;white-space:normal;min-height:43px;justify-content:center;text-align:center;padding:.55rem}
.patent-favorites{padding:1rem 1.2rem}
.patent-favorites-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.patent-favorites-head h3{font-size:.85rem;margin:0}
.patent-favorites-head h3 span{font:700 .72rem ui-monospace,monospace;color:#888}
.patent-clear{border:0;background:transparent;color:#777;text-decoration:underline;cursor:pointer;font-size:.72rem}
.patent-favorite-list{display:flex;flex-wrap:wrap;gap:.45rem;margin:.75rem 0}
.patent-saved{max-width:100%;background:#f6f6f6;border:1px solid #ccc;border-radius:6px;color:#222;padding:.4rem .55rem;text-align:left;font-size:.76rem;cursor:pointer}
.patent-saved:hover{background:#e8e8e8}
.patent-status{color:#666;font-size:.74rem;line-height:1.5;margin:.3rem 0}
.patent-copy-box{width:100%;min-height:120px;display:block;padding:.5rem;border:1px solid #888;border-radius:4px;font-size:.75rem}
.patent-disclaimer{max-width:790px;font-size:.72rem;line-height:1.55;color:#777;margin:1.3rem 0}
@media(max-width:940px){.patent-grid{grid-template-columns:minmax(0,1fr)}.patent-controls form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.patent-controls form>h2,.patent-controls .patent-realism,.patent-controls .patent-control-note,.patent-section-kicker{grid-column:1/-1}.patent-empty{min-height:200px;padding:2rem 1.2rem}.patent-realism{grid-template-columns:repeat(2,minmax(0,1fr))}.patent-realism legend{grid-column:1/-1}}
@media(max-width:560px){.patent-controls form{grid-template-columns:minmax(0,1fr)}.patent-realism{grid-template-columns:minmax(0,1fr)}.patent-actions{grid-template-columns:minmax(0,1fr)}.patent-content-grid{grid-template-columns:minmax(0,1fr)}.patent-hero{padding:.9rem 0}.patent-result{padding:.95rem}.patent-diagram-head>span{font-size:.55rem}.patent-diagram{overflow-x:auto}.patent-diagram svg{min-width:550px;height:auto}.patent-result h2{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){.patent-realism label span{transition:none}}
@media print{.patent-controls,.patent-favorites,.patent-actions,.patent-save{display:none!important}.patent-grid{display:block}.patent-result{break-inside:avoid}.patent-wrap{max-width:none}}
