:root{--paper:#f3f6fb;--ink:#232d3a;--muted:#686c82;--accent:#6497d9;--line:#e0e6ed;--serif:system-ui,-apple-system,"Segoe UI",sans-serif}
html{scroll-behavior:smooth}
body{background:#f4f7fb;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
body:not(.editing):not(.desk){background:radial-gradient(ellipse at 80% 1%,#e8f1fd 0,transparent 40%),radial-gradient(ellipse at 7% 24%,#e4ecf7 0,transparent 40%),#f5f8fb}
body:not(.editing):not(.desk):before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 80% 70%,#e5edf780,transparent 45%)}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{transition:background .18s,border-color .18s,box-shadow .18s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #6598da;outline-offset:3px}
.shell{width:calc(100% - clamp(36px,8.4vw,150px));max-width:1510px}
.nav{background:#f9fcffb0;border-color:#fff;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);position:relative;z-index:4}
.navinner{height:72px;gap:22px}
.brand{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:680;font-size:27px;letter-spacing:-1.5px;gap:9px}
.brand svg{color:#6290cd;width:31px;height:31px}
.strap{font-size:11px;color:#76798d;letter-spacing:.15px}
.navlinks{gap:25px}
.catalogLink{border:0;color:#61657a;font-weight:500}
.solid{background:#253242;color:white;border:1px solid #354458;box-shadow:0 2px 3px #233a5710;border-radius:10px}
.solid:hover{background:#3b4b62;box-shadow:0 4px 12px #35445826}
#resume{padding:10px 15px;font-size:12px;border-radius:12px}
.intro.liquidHero{min-height:386px;padding:32px 0 28px;border:none;gap:10px;position:relative}
.heroCopy{position:relative;z-index:1;max-width:660px}
.kicker{font-family:inherit;font-size:10px;font-weight:650;letter-spacing:1.5px;color:#6483ac;gap:8px}
.kicker i{width:6px;height:6px;background:#8aafdf;box-shadow:0 0 0 4px #8caedb16}
.liquidHero h1{font:650 clamp(43px,5.25vw,78px)/1.035 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.065em;margin:19px 0}
.liquidHero h1 em{font:inherit;background:linear-gradient(105deg,#6b9ee1,#7096c7 53%,#98b7df);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.intro p{font-size:14px;color:#73778c;line-height:1.65;margin:0}
.heroActions{display:flex;gap:10px;margin-top:23px}
.heroActions button{font-size:12px;padding:11px 17px;border-radius:12px}
#heroResume{border-color:#fff;background:#ffffff65;color:#60647a;box-shadow:0 1px 6px #475b7608}
.heroNote{display:flex;align-items:center;margin-top:19px;color:#898c9f;font-size:10px;gap:5px;letter-spacing:.1px}
.heroNote b{font-weight:600;color:#6e7189}
.tinyDot{width:5px;height:5px;border-radius:50%;background:#92a5bd;display:inline-block;margin-right:3px}
.heroObject{width:47%;align-self:stretch;position:relative;display:grid;place-items:center;isolation:isolate}
.heroObject>svg{position:relative;width:min(100%,530px);height:355px;filter:drop-shadow(0 11px 22px #698ebf0e);transform:rotate(-6deg)}
.heroHalo{position:absolute;width:75%;height:75%;background:radial-gradient(ellipse,#d8e7fa7a,#d5e4f733 48%,transparent 71%);filter:blur(20px)}
.floatingNote{display:flex;align-items:center;gap:10px;border-radius:14px;background:linear-gradient(145deg,#ffffffd9,#ffffff5c);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid #ffffff;box-shadow:0 8px 25px #556e8e0a,inset 0 1px 0 #ffffff;position:absolute;z-index:2;color:#7c7e93;font-size:10px;line-height:1.55;transform:rotate(-4deg);padding:11px 14px}
.floatingNote b{font-weight:600;color:#4d6380}
.noteOne{left:2%;top:22%}
.noteTwo{right:1%;bottom:17%;transform:rotate(4deg);padding:10px 13px;gap:7px}
.noteTwo i{width:7px;height:7px;border-radius:50%;background:linear-gradient(130deg,#77a5e2,#9dbce5)}
.noteIcon{display:grid;place-items:center;width:30px;height:30px;background:#e8f0fb9c;color:#85a2c9;border-radius:9px;font-size:25px}
.catalogbar{margin:9px 0 15px;gap:20px}
.cataloglabel{font:600 23px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.8px}
.cataloglabel small{font:10px system-ui;vertical-align:middle;display:inline-grid;place-items:center;border-radius:6px;background:#e8edf4;color:#6d87a8;padding:3px 6px;margin-left:7px}
.searchCharts{display:flex;align-items:center;gap:7px;background:#ffffff91;border:1px solid #ffffff;border-radius:10px;padding:8px 11px;box-shadow:0 1px 4px #2b405b05;min-width:230px}
.searchCharts svg{width:14px;height:14px;fill:none;stroke:#8a9eb9;stroke-width:1.7;flex:none}
.searchCharts input{padding:0;background:transparent;border:0;outline:none;font-size:11px;color:#526988;width:100%;min-width:0}
.searchCharts input::placeholder{color:#8a9eb9}
.filterbar{display:flex;justify-content:space-between;margin-bottom:20px;gap:10px}
.filters{gap:5px}
.filters button{font-size:11px;color:#777c91;padding:7px 12px;border-radius:9px}
.filters button[aria-pressed=true]{background:#fff;border-color:#fff;box-shadow:0 2px 7px #3d4e650b;color:#445771}
.filters button:hover{background:#ffffff9c}
.cards{gap:21px}
.card{background:linear-gradient(145deg,#ffffffb8,#ffffff79);border:1px solid #ffffff;border-radius:17px;box-shadow:0 2px 8px #40536b04;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.card:hover{border-color:#fff;box-shadow:0 8px 30px #59739512;transform:translateY(-3px)}
.art{aspect-ratio:1.82;background:radial-gradient(ellipse at 33% 15%,#ffffff70,transparent 65%),var(--tint);border:0;margin:7px;border-radius:11px;isolation:isolate}
.art>svg{padding:7px 4px;transition:transform .35s}
.card:hover .art>svg{transform:scale(1.035)}
.artnum{font:8px system-ui,sans-serif;font-weight:600;color:#58719286;letter-spacing:1.3px;left:12px;top:11px;z-index:1}
.reg{color:#768dad85;right:13px;font-family:system-ui}
.newBadge{position:absolute;right:10px;top:10px;font:600 8px system-ui;letter-spacing:.6px;color:#728fb5;border:1px solid #ffffffc9;background:#ffffff74;border-radius:6px;padding:3px 6px;z-index:1}
.cardbody{padding:11px 17px 18px}
.type{font:600 9px system-ui;color:#869bb7;letter-spacing:.8px}
.cardtitle{margin:6px 0 0;gap:9px}
.card h2{font:600 clamp(17px,1.65vw,22px)/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.65px}
.cardtitle .arrow{width:25px;height:25px;display:grid;place-items:center;border:1px solid #edf0f5;border-radius:8px;font:14px system-ui;color:#889cb7;background:#ffffff4d}
.card p{font-size:11px;line-height:1.55;color:#868a9f;max-width:94%;margin-top:5px}
.catalogfoot{border-color:#e2e9f1;margin-top:27px;color:#889cb7;font:9px system-ui;letter-spacing:.9px}
.emptyResults{grid-column:1/-1;padding:65px 20px;text-align:center;color:#758dac}
.emptyResults h2{font-size:20px;color:#4c627f}
.emptyResults button{margin-top:10px;border-radius:9px}
body.editing,body.desk{background:radial-gradient(ellipse at 80% 10%,#e4edf9,transparent 65%),#eef1f6}
.desk{--chrome:#f9fcffc9;--line:#e0e7ef;--ink:#313f52;--muted:#889cb7;--accent:#7697c3}
.desk .deskTop{height:56px;background:linear-gradient(130deg,#ffffffcf,#f9fcff91);border:0;border-bottom:1px solid #ffffff;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:0 13px}
.desk .deskTop h1{font:600 14px system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.25px;color:#5b7597}
.desk .deskBack{color:#778ead;font-size:11px}
.desk .deskBody{padding:8px;gap:8px;background:transparent}
.desk .rail,.desk .props{border:1px solid #ffffff;border-radius:13px;background:linear-gradient(145deg,#ffffffc9,#f9fcffbd);box-shadow:0 3px 10px #52698805;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.desk .sheet,.desk .board{border:1px solid #ffffff;border-radius:13px;background:#e9eef4}
.desk .viewHead{height:39px;background:#ffffff85;border:0;color:#8096b3;padding:0 12px}
.desk .viewHead strong{font-size:10px;font-weight:550;color:#90a4bd}
.desk .viewHead .dim,.desk [data-zoom-value]{font:9px system-ui;color:#8da0ba}
.desk .viewPort{background-color:#e8edf3;background-image:radial-gradient(#b6c3d37a .65px,transparent .8px);background-size:14px 14px}
.desk .viewPort svg.artPaper,.desk .viewPort svg#art{box-shadow:0 3px 17px #4c627e0c,0 0 0 1px #bfcad826;background-color:#fbfdff}
.desk .viewPort svg#art{background-color:#fbfdff}
.desk .sideTitle{height:41px;padding:0 14px;font-size:11px;color:#6d86a7;border-color:#e5eaf180;font-weight:600}
.desk .sideTitle small{font:8px system-ui;color:#a8b7cb;letter-spacing:1px}
.desk .block,.desk .panel{border-color:#e6ebf180;padding:14px}
.desk .smallcaps,.desk .micro{font:600 9px system-ui;color:#9cadc4;letter-spacing:1px}
.desk .block p,.desk .hint{font-size:10px;color:#90a3bc;line-height:1.6}
.desk .fieldline,.desk .field{font-size:11px;color:#7990ae}
.desk button,.desk select{border-color:#e5eaf0;background:#ffffff75;border-radius:7px;color:#6882a4}
.desk button:hover{border-color:#d5dde8;background:#ffffff}
.desk .deskTools button{border-radius:7px;min-width:27px;padding:5px}
.desk .deskTools button[aria-expanded=true]{background:#e8eef6}
.desk button.solid,.desk button.export{border:1px solid #6580a3;background:linear-gradient(135deg,#6186b6,#799bc7);box-shadow:inset 0 1px 0 #ffffff25,0 2px 6px #647fa225;color:#fff;border-radius:8px}
.desk .deskExports button{font-size:10px;padding:7px 10px}
.desk .deskExports button.iconbtn{padding:3px;width:27px;height:28px;background:transparent;border:0}
.desk .deskTools button,.desk .viewTools button{background:transparent;border-color:transparent}
.desk input:not([type=range]):not([type=checkbox]):not([type=color]),.desk select,.desk textarea{border-color:#e3e8ef;background:#ffffffb3;color:#70758d;border-radius:6px;font-size:11px;padding:7px 8px}
.desk .badge,.desk .val{font-size:9px;color:#8298b4;background:transparent}
.desk .range{background:linear-gradient(to right,#94b1d7 var(--pct),#e9edf3 var(--pct))}
.desk .range::-webkit-slider-thumb{background:#8eabd0;box-shadow:0 1px 2px #6f88a823}
.desk input[type=range],.desk input[type=checkbox]{accent-color:#8aa8d0}
.desk .swatchstrip i{width:15px;height:15px;border:none;box-shadow:0 1px 2px #4e658210}
.desk .datarow,.desk .layer{border-color:#eaeef380;color:#7990af;font-size:11px;padding:9px 5px}
.desk .datarow.chosen,.desk .datarow:hover,.desk .layer.active,.desk .layer:hover{background:#edf2f8;border-radius:6px}
.desk .layer small,.desk .rowIndex{font:9px system-ui;color:#9daec4}
.desk .tools{border-radius:13px;background:linear-gradient(140deg,#ffffffdf,#f9fbfeba);border:1px solid #ffffff;box-shadow:0 5px 16px #6580a317;backdrop-filter:blur(16px);padding:5px}
.desk .tools button.active{background:linear-gradient(135deg,#e1ecfb,#e1ecfa);color:#7c98bc}
.desk .tools button{border-radius:8px}
.desk .boardFoot,.desk .sheet footer{border:0;background:#ffffff88;color:#97a9c1;font-size:9px;padding:7px 12px}
.desk .deskStatus{height:24px;background:#ffffff45;border:0;color:#99abc2;font:9px system-ui;letter-spacing:.1px}
.desk dialog,dialog{border-radius:17px;background:#f9fcfff5;border:1px solid #fff;box-shadow:0 25px 90px #465e7e22;color:#577090}
dialog::backdrop{background:#334a6854;backdrop-filter:blur(5px)}
dialog h2{font:600 22px system-ui;letter-spacing:-.5px;color:#465a75}
dialog input,dialog textarea,dialog select{width:100%;background:#fff;border:1px solid #e2e8f0;border-radius:7px;padding:7px 9px;font-size:12px}
dialog label{color:#738bab;font-size:11px}
.dialogColors{display:grid;grid-template-columns:1fr 1fr;gap:7px 16px;margin-top:12px;align-items:center}
.dialogColors label{grid-row:1;margin:0}
.dialogColors input{grid-row:2;width:100%;height:30px;cursor:pointer;border-radius:7px;padding:0}
@media(min-width:1500px){.liquidHero{min-height:450px!important}.heroObject>svg{height:400px}.cards{gap:25px}.card p{font-size:12px}.card h2{font-size:23px}}
@media(max-width:950px){.liquidHero h1{font-size:52px}.intro.liquidHero{min-height:350px}.heroObject>svg{height:300px}.floatingNote{padding:8px 10px;font-size:9px}.noteOne{left:-5%;top:14%}.card p{font-size:10px}.cardbody{padding:9px 13px 15px}}
@media(max-width:800px){.desk .deskBody{padding:5px;gap:5px}.desk .rail,.desk .props{top:5px;bottom:5px;box-shadow:0 3px 20px #57709121}.desk .rail{left:5px}.desk .props{right:5px}.desk .deskTop{height:49px;padding:0 7px}.desk .deskStatus{font-size:8px}.desk .deskTop h1{font-size:12px}}
@media(max-width:700px){.navinner{height:60px}.brand{font-size:25px}.intro.liquidHero{min-height:0;padding:31px 0 20px;gap:0}.heroCopy{width:100%}.liquidHero h1{font-size:clamp(39px,8vw,53px);margin:15px 0 17px}.intro p{font-size:12px}.heroObject{width:32%;position:absolute;right:-20px;top:35px;height:240px;opacity:.27;pointer-events:none;z-index:0}.heroObject>svg{height:230px;width:300px;max-width:none}.floatingNote{display:none}.heroCopy{z-index:1}.heroActions{margin-top:21px}.heroActions button{padding:10px 13px;font-size:11px}.heroNote{font-size:9px;margin-top:18px}.catalogbar{margin-top:18px;flex-direction:row;align-items:center;gap:10px}.cataloglabel{font-size:18px;letter-spacing:-.6px}.searchCharts{min-width:0;width:40%;padding:8px}.searchCharts input{font-size:10px}.filters{gap:2px}.filters button{padding:6px 8px;font-size:10px}.filterbar{margin-bottom:15px}.cards{gap:13px}.art{aspect-ratio:1.4;margin:5px;border-radius:8px}.card{border-radius:13px}.card h2{font-size:16px;letter-spacing:-.55px}.card p{font-size:10px;line-height:1.5;max-width:100%}.cardtitle .arrow{display:none}.cardbody{padding:8px 10px 13px}.artnum{font-size:7px;letter-spacing:.7px;left:8px;top:9px}.newBadge{font-size:6px;right:6px;top:7px}.card .type{font-size:8px}.catalogfoot{font-size:8px}}
@media(max-width:390px){.searchCharts{width:44%}.cataloglabel{font-size:16px}.cards{grid-template-columns:1fr}.art{aspect-ratio:1.85}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.card p{color:#70768d}.desk .fieldline,.desk .field{color:#637ea2}.desk .datarow,.desk .layer{color:#737a91}.desk .block p,.desk .hint{color:#738bab}.desk .sideTitle{color:#72788f}.desk .sheet footer,.desk .boardFoot{color:#758dac;font-size:10px}.desk .deskStatus{color:#748cac}.desk input:not([type=range]):not([type=checkbox]):not([type=color]),.desk select,.desk textarea{color:#566e8f}dialog label{color:#70778e}
