@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_dbbf8c4b-module__5qCx7q__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_dbbf8c4b-module__5qCx7q__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_3342dced-module__ksAy2q__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_3342dced-module__ksAy2q__variable{--font-mono:"Geist Mono", "Geist Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.block{display:block}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}}.editor-shelf .book-cover,.editor-shelf .series-group{cursor:grab}.editor-shelf .book-cover:active,.editor-shelf .series-group:active{cursor:grabbing}.editor-shelf .series-row{cursor:pointer}.favorite-standalone{width:190px}.favorite-layout>.series-group,.favorite-layout>.favorite-standalone{align-self:flex-start;order:0!important}.favorite-standalone,.series-group{min-height:340px}.favorite-standalone .book-cover{height:280px!important}.favorite-standalone h3{margin:14px 0 3px;font-size:14px;font-weight:500}.favorite-standalone p{color:var(--muted);margin:0;font-size:11px}.series-tray-overlay{z-index:31;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a141c8c;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.inspector-overlay{z-index:40!important}.cover-search{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.cover-search>p{margin:0 0 8px}.cover-search>div:first-of-type{grid-template-columns:1fr 1fr auto;gap:8px;display:grid}.cover-search input{min-width:0;margin:0!important}.cover-search button,.search-pages button{border:1px solid var(--line);color:var(--ink);font:9px var(--font-mono);cursor:pointer;background:0 0;padding:8px}.cover-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.cover-results button{text-align:left;align-items:center;gap:8px;padding:6px;display:flex}.cover-results img{object-fit:cover;background:var(--paper);width:34px;height:50px}.cover-results span,.cover-results small{display:block}.cover-results small{color:var(--muted);font:8px var(--font-mono);margin-top:3px}.search-pages{font:9px var(--font-mono);align-items:center;gap:10px;margin-top:14px;display:flex}.search-pages button:disabled{opacity:.35;cursor:default}.book-highlight{color:var(--muted);font:9px var(--font-mono);align-items:center;gap:8px;margin:14px 0;display:flex}.book-highlight input{width:auto;accent-color:var(--copper);margin:0!important}.editor-shelf .series-tray{border:1px solid var(--blue);background:var(--surface);width:min(100%,1080px);max-height:min(75vh,520px);padding:22px;overflow:auto;box-shadow:10px 12px #00000038}.series-tray header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.series-tray header p{margin:0}.series-tray header button{color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:26px}.series-tray-books{align-items:flex-start;gap:28px;min-width:max-content;display:flex}.series-tray-books>div{width:190px}.series-tray-books h3{margin:14px 0 3px;font-size:14px;font-weight:500}.series-tray-books p{color:var(--muted);margin:0;font-size:11px}.series-tray-books .series-release{border:1px dashed var(--line);width:190px;height:280px;color:var(--muted);text-align:center;font:10px var(--font-mono);letter-spacing:.08em;place-content:center;gap:8px;display:grid}.series-tray-books .series-release small{font:8px var(--font-mono)}.book-cover:has(img) b{display:none}.book-cover:has(img) small{display:none}.book-cover:has(img):after{display:none}.dev-projects .collage-piece{color:var(--ink);text-align:left;cursor:pointer}.dev-projects .collage-piece:hover{transform:translateY(-8px)rotate(0)!important}.ftnb-editor-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.ftnb-editor-heading p{color:var(--muted);margin:4px 0 0;font-size:13px}.ftnb-editor-heading label{color:var(--muted);font:9px var(--font-mono);letter-spacing:.08em;gap:7px;display:grid}.ftnb-editor-heading input{accent-color:var(--blue)}.project-slot-menu{border:1px solid var(--line);background:var(--surface);font:10px var(--font-mono);align-items:center;gap:12px;margin-top:18px;padding:14px;display:flex}.project-slot-menu select{border:1px solid var(--line);background:var(--paper);color:var(--ink);margin-left:10px;padding:8px}.project-slot-menu button{border:1px solid var(--line);color:var(--ink);font:9px var(--font-mono);cursor:pointer;background:0 0;padding:8px}@media (max-width:760px){.ftnb-editor-heading{flex-direction:column;align-items:start}}.academic-record{padding:42px 0 110px}.academic-year{border-bottom:1px solid var(--line);padding:30px 0}.academic-year>.kicker{margin:0 0 18px}.term-pair{grid-template-columns:1fr 1fr;gap:44px;display:grid}.term-column h2{letter-spacing:-.04em;margin:0 0 14px;font-size:27px;font-weight:500}.term-empty{color:var(--muted);font-size:13px}.course-editor{gap:14px;display:grid}.course-add{gap:8px;display:flex}.course-add button,.semester-editor button{border:1px solid var(--line);color:var(--ink);font:9px var(--font-mono);cursor:pointer;background:0 0;padding:8px}.semester-editor{border:1px solid var(--line);background:var(--surface);margin-top:18px;padding:16px}.semester-editor-head{align-items:center;gap:12px;display:flex}.semester-editor-head>input{flex:1}.semester-editor input{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:9px}.semester-editor-head label{font:9px var(--font-mono);color:var(--muted)}.semester-editor-head label input{accent-color:var(--blue);margin-right:6px}.course-editor-table{margin-top:14px}.course-editor-table>div{grid-template-columns:120px 1fr 76px 30px;gap:8px;margin-top:8px;display:grid}.course-editor-table button{padding:0}.add-course{margin-top:14px}@media (max-width:760px){.term-pair{grid-template-columns:1fr;gap:30px}.semester-editor-head,.course-editor-table>div{grid-template-columns:1fr;display:grid}.semester-editor-head{align-items:stretch}.course-editor-table button{min-height:32px}}.editor-academic-record{padding:25px 0 0}.editor-term-column{min-width:0}.inline-term-head{align-items:center;gap:10px;display:flex}.inline-term-head h2{flex:1}.inline-term-head label{font:8px var(--font-mono);color:var(--muted)}.inline-term-head label input{accent-color:var(--blue);margin-right:4px}.inline-term-head button,.editor-course-table button{border:1px solid var(--line);color:var(--muted);font:8px var(--font-mono);cursor:pointer;background:0 0;padding:5px}.inline-term-name{border:0;border-bottom:1px dashed var(--line);width:100%;color:var(--muted);font:9px var(--font-mono);background:0 0;margin:-6px 0 8px;padding:5px 0}.editor-course-table input{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;padding:4px 0}.editor-course-table td{padding:8px 4px}.editor-course-table td:last-child{width:28px}.editor-course-table tr[draggable=true]{cursor:grab}.editor-course-table tr[draggable=true]:active{cursor:grabbing}.current-label{font:10px var(--font-mono);letter-spacing:.08em;vertical-align:middle;margin-left:8px;display:inline-block}.current-label.planned{color:var(--muted)}.books-row,.books-row.current-row,.favorite-layout{justify-content:center}@media (max-width:760px){.series-tray-overlay,.editor-shelf .series-tray{padding:16px}.series-tray-books{gap:18px}}.visual-shelf{border-bottom:1px solid var(--line);padding:38px 0}.visual-shelf-row{flex-wrap:wrap;align-items:flex-start;gap:28px;margin-top:18px;display:flex}.editor-book{text-align:left;color:#f5f0e5;cursor:grab;border:1px solid #ffffff59;flex-direction:column;justify-content:space-between;width:150px;height:220px;padding:14px;display:flex;box-shadow:4px 5px #1928322b}.editor-book.favorite{outline-offset:4px;outline:2px solid #b89235}.editor-book span{font-size:19px;font-weight:600;line-height:1.05}.editor-book small{font:9px var(--font-mono)}.series-folder{border:1px solid var(--line);background:var(--surface);width:328px;padding:12px}.series-folder summary{cursor:pointer;font:11px var(--font-mono);letter-spacing:.06em}.series-folder summary span{color:var(--muted);float:right;font-size:9px}.series-folder>div{flex-wrap:wrap;gap:12px;padding-top:16px;display:flex}.series-folder .editor-book{width:140px;height:205px}.book-inspector{border:1px solid var(--blue);background:var(--surface);max-width:540px;margin-top:20px;padding:18px;position:relative}.book-inspector input{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);margin:8px 0;padding:10px;display:block}.book-inspector label{font:10px var(--font-mono)}.book-inspector .remove{border:1px solid var(--copper);color:var(--copper);font:10px var(--font-mono);background:0 0;margin-top:14px;padding:8px;display:block}.inspector-close{color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:22px;position:absolute;top:8px;right:10px}.inspector-overlay{z-index:30;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a141c8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.inspector-overlay .book-inspector{width:min(540px,100%);margin:0;box-shadow:10px 12px #00000038}.book-inspector .complete{border:1px solid var(--blue);background:var(--blue);color:#fff;font:10px var(--font-mono);margin-top:14px;padding:8px;display:block}.editor-actions{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:35px 0;display:flex}.editor-actions p{color:var(--muted);margin:0;font-size:13px}.editor-section{border-bottom:1px solid var(--line);padding:35px 0}.book-search{gap:10px;margin-top:15px;display:flex}.book-search input{background:var(--surface);border:1px solid var(--line);min-width:320px;color:var(--ink);padding:11px}.search-results{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px;display:grid}.search-results article{border:1px solid var(--line);background:var(--surface);gap:12px;padding:10px;display:flex}.search-results img{object-fit:cover;background:var(--paper);width:48px;height:70px}.search-results strong,.search-results span{font-size:13px;display:block}.search-results span{color:var(--muted);margin:4px 0 9px}.search-results button,.editor-list button{font:8px var(--font-mono);border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;margin-right:4px;padding:5px}.editor-list{margin-top:20px}.editor-list>div{border-top:1px solid var(--line);align-items:center;gap:10px;padding:9px 0;font-size:13px;display:flex}.editor-list>div>span{flex:1}.editor-list label{font:9px var(--font-mono);color:var(--muted)}.editor-list input{accent-color:var(--blue)}.project-picker{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:15px;display:grid}.project-picker label{font-size:13px}.project-picker input{accent-color:var(--blue);margin-right:8px}.book-cover img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.book-cover:has(img):before{content:"";z-index:1;background:linear-gradient(#0000 30%,#00000073);position:absolute;inset:0}:is(.book-cover:has(img) b,.book-cover:has(img) small){z-index:2}.book-search select,.book-editor-row input{background:var(--surface);border:1px solid var(--line);color:var(--ink);padding:10px}.editor-preview{overflow:hidden}.book-editor-row{flex-wrap:wrap}.book-editor-row img{object-fit:cover;background:var(--paper);width:30px;height:42px}.book-editor-row input{flex:1;min-width:150px}.book-editor-row .remove{color:var(--copper)}.favorite-layout>.series-group{order:2}.favorite-layout>.favorites-row>div:nth-child(-n+6){order:1}.favorite-layout>.favorites-row>div:nth-child(n+7){order:3}.dev-collage.count-5{height:500px}.dev-collage.count-5 .collage-piece:first-child{width:33%;top:5%;left:4%;transform:rotate(-6deg)}.dev-collage.count-5 .collage-piece:nth-child(2){width:22%;top:3%;left:49%;transform:rotate(5deg)}.dev-collage.count-5 .collage-piece:nth-child(3){width:26%;top:24%;left:70%;transform:rotate(-3deg)}.dev-collage.count-5 .collage-piece:nth-child(4){width:27%;top:51%;left:13%;transform:rotate(3deg)}.dev-collage.count-5 .collage-piece:nth-child(5){width:31%;top:43%;left:42%;transform:rotate(-5deg)}.dev-collage.count-9{height:655px}.dev-collage.count-10{height:680px}.series-cover:not(:only-child){margin-left:17.5px}.dev-collage.count-7 .collage-piece:first-child,.dev-collage.count-8 .collage-piece:first-child,.dev-collage.count-9 .collage-piece:first-child,.dev-collage.count-10 .collage-piece:first-child{width:30%;top:4%;left:4%;transform:rotate(-7deg)}.dev-collage.count-7 .collage-piece:nth-child(2),.dev-collage.count-8 .collage-piece:nth-child(2),.dev-collage.count-9 .collage-piece:nth-child(2),.dev-collage.count-10 .collage-piece:nth-child(2){width:21%;top:2%;left:48%;transform:rotate(6deg)}.dev-collage.count-7 .collage-piece:nth-child(3),.dev-collage.count-8 .collage-piece:nth-child(3),.dev-collage.count-9 .collage-piece:nth-child(3),.dev-collage.count-10 .collage-piece:nth-child(3){width:27%;top:14%;left:69%;transform:rotate(-4deg)}.dev-collage.count-7 .collage-piece:nth-child(4),.dev-collage.count-8 .collage-piece:nth-child(4),.dev-collage.count-9 .collage-piece:nth-child(4),.dev-collage.count-10 .collage-piece:nth-child(4){width:23%;top:37%;left:14%;transform:rotate(5deg)}.dev-collage.count-7 .collage-piece:nth-child(5),.dev-collage.count-8 .collage-piece:nth-child(5),.dev-collage.count-9 .collage-piece:nth-child(5),.dev-collage.count-10 .collage-piece:nth-child(5){width:31%;top:33%;left:38%;transform:rotate(-6deg)}.dev-collage.count-7 .collage-piece:nth-child(6),.dev-collage.count-8 .collage-piece:nth-child(6),.dev-collage.count-9 .collage-piece:nth-child(6),.dev-collage.count-10 .collage-piece:nth-child(6){width:22%;top:43%;left:73%;transform:rotate(3deg)}.dev-collage.count-7 .collage-piece:nth-child(7),.dev-collage.count-8 .collage-piece:nth-child(7),.dev-collage.count-9 .collage-piece:nth-child(7),.dev-collage.count-10 .collage-piece:nth-child(7){width:27%;top:65%;left:3%;transform:rotate(-2deg)}.dev-collage.count-8 .collage-piece:nth-child(8),.dev-collage.count-9 .collage-piece:nth-child(8),.dev-collage.count-10 .collage-piece:nth-child(8){width:21%;top:61%;left:32%;transform:rotate(7deg)}.dev-collage.count-9 .collage-piece:nth-child(9),.dev-collage.count-10 .collage-piece:nth-child(9){width:27%;top:64%;left:55%;transform:rotate(-5deg)}.dev-collage.count-10 .collage-piece:nth-child(10){width:20%;top:60%;left:78%;transform:rotate(3deg)}.series-cover:not(:only-child){width:155px;bottom:17.5px}.series-cover:not(:only-child) .book-cover{height:245px}.dev-collage.count-6{height:525px}.dev-collage.count-6 .collage-piece:first-child{width:34%;top:8%;left:4%;transform:rotate(-8deg)}.dev-collage.count-6 .collage-piece:nth-child(2){width:24%;top:1%;left:48%;transform:rotate(6deg)}.dev-collage.count-6 .collage-piece:nth-child(3){width:28%;top:26%;left:67%;transform:rotate(-5deg)}.dev-collage.count-6 .collage-piece:nth-child(4){width:26%;top:49%;left:10%;transform:rotate(4deg)}.dev-collage.count-6 .collage-piece:nth-child(5){width:32%;top:40%;left:37%;transform:rotate(-7deg)}.dev-collage.count-6 .collage-piece:nth-child(6){width:22%;top:61%;left:75%;transform:rotate(5deg)}.dev-collage.count-7{height:570px}.dev-collage.count-7 .collage-piece:nth-child(4){top:50%;left:9%;transform:rotate(5deg)}.dev-collage.count-7 .collage-piece:nth-child(5){top:43%;left:42%;transform:rotate(-7deg)}.dev-collage.count-7 .collage-piece:nth-child(6){top:55%;left:72%;transform:rotate(4deg)}.dev-collage.count-7 .collage-piece:nth-child(7){top:68%;left:24%;transform:rotate(-4deg)}.series-cover:not(:only-child){bottom:24px}.dev-collage.count-8{height:600px}.dev-collage.count-8 .collage-piece:first-child{width:32%;top:6%;left:2%;transform:rotate(-8deg)}.dev-collage.count-8 .collage-piece:nth-child(2){width:20%;top:2%;left:45%;transform:rotate(6deg)}.dev-collage.count-8 .collage-piece:nth-child(3){width:27%;top:17%;left:67%;transform:rotate(-4deg)}.dev-collage.count-8 .collage-piece:nth-child(4){width:24%;top:35%;left:13%;transform:rotate(5deg)}.dev-collage.count-8 .collage-piece:nth-child(5){width:30%;top:31%;left:39%;transform:rotate(-7deg)}.dev-collage.count-8 .collage-piece:nth-child(6){width:22%;top:43%;left:75%;transform:rotate(3deg)}.dev-collage.count-8 .collage-piece:nth-child(7){width:26%;top:63%;left:2%;transform:rotate(-3deg)}.dev-collage.count-8 .collage-piece:nth-child(8){width:25%;top:61%;left:43%;transform:rotate(7deg)}.favorite-layout>.favorites-row>div{align-self:flex-start!important;margin-top:0!important;position:relative!important;top:0!important}.favorite-layout .favorites-row>div:first-child .book-cover{height:280px!important}.favorite-layout .favorites-row{display:contents!important}.series-group:has(.series-cover:only-child){width:190px!important}.series-group:has(.series-cover:only-child) .series-cover{width:190px;bottom:0}:is(.series-group:has(.series-cover:only-child) .book-cover,.series-group:has(.series-cover:only-child) .series-row){height:280px}.dev-projects{margin-top:48px}.dev-collage{height:720px}.dev-collage .collage-piece{width:26%;transform:rotate(-2deg)}.dev-collage .collage-piece:nth-child(2n){transform:rotate(2deg)}.dev-collage .collage-piece:nth-child(3n){transform:rotate(-3deg)}.dev-collage .collage-piece:first-child{top:3%;left:2%}.dev-collage .collage-piece:nth-child(2){top:2%;left:37%}.dev-collage .collage-piece:nth-child(3){top:10%;left:69%}.dev-collage .collage-piece:nth-child(4){top:39%;left:12%}.dev-collage .collage-piece:nth-child(5){top:37%;left:46%}.dev-collage .collage-piece:nth-child(6){top:49%;left:72%}.dev-collage .collage-piece:nth-child(7){top:68%;left:3%}.dev-collage .collage-piece:nth-child(8){top:65%;left:30%}.dev-collage .collage-piece:nth-child(9){top:70%;left:57%}.dev-collage .collage-piece:nth-child(10){top:74%;left:76%}.dev-collage.count-3{height:400px}.dev-collage.count-3 .collage-piece{width:30%}.dev-collage.count-3 .collage-piece:first-child{top:4%;left:3%}.dev-collage.count-3 .collage-piece:nth-child(2){top:18%;left:35%}.dev-collage.count-3 .collage-piece:nth-child(3){top:4%;left:65%}.favorite-layout>.favorites-row{display:contents!important}.dev-collage.count-4{height:500px}.dev-collage.count-4 .collage-piece:first-child{width:36%;top:6%;left:4%;transform:rotate(-6deg)}.dev-collage.count-4 .collage-piece:nth-child(2){width:25%;top:2%;left:50%;transform:rotate(5deg)}.dev-collage.count-4 .collage-piece:nth-child(3){width:29%;top:44%;left:64%;transform:rotate(-4deg)}.dev-collage.count-4 .collage-piece:nth-child(4){width:31%;top:52%;left:20%;transform:rotate(3deg)}.favorite-layout{align-items:flex-start}.dev-projects{margin:0;padding:76px 0 88px}.dev-collage{height:680px;margin-top:24px}.dev-collage .collage-piece:first-child{width:33%;top:3%;left:1%;transform:rotate(-4deg)}.dev-collage .collage-piece:nth-child(2){width:23%;top:1%;left:39%;transform:rotate(5deg)}.dev-collage .collage-piece:nth-child(3){width:28%;top:9%;left:68%;transform:rotate(-1deg)}.dev-collage .collage-piece:nth-child(4){width:24%;top:35%;left:8%;transform:rotate(3deg)}.dev-collage .collage-piece:nth-child(5){width:31%;top:31%;left:37%;transform:rotate(-5deg)}.dev-collage .collage-piece:nth-child(6){width:23%;top:41%;left:72%;transform:rotate(4deg)}.dev-collage .collage-piece:nth-child(7){width:26%;top:62%;left:2%;transform:rotate(-2deg)}.dev-collage .collage-piece:nth-child(8){width:22%;top:59%;left:29%;transform:rotate(6deg)}.dev-collage .collage-piece:nth-child(9){width:29%;top:60%;left:54%;transform:rotate(-3deg)}.dev-collage .collage-piece:nth-child(10){width:21%;top:57%;left:78%;transform:rotate(2deg)}.dev-collage.count-3{height:430px;margin-top:24px}:root{--paper:#e4dbc9;--surface:#efe9dbe6;--ink:#172934;--muted:#56676a;--line:#859895;--blue:#315b78;--copper:#9a5d3c;--brass:#887147;--cyan:#3f7f87;--grid:#29434340;--minor-grid:#2943431a}.dark{--paper:#132331;--surface:#1c2e3ceb;--ink:#edf0e9;--muted:#b6c1bd;--line:#58717b;--blue:#91bfdb;--copper:#d9916a;--brass:#cfb678;--cyan:#8bc9cf;--grid:#aacbcb30;--minor-grid:#aacbcb12}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);font-family:var(--font-geist),Arial;background-color:var(--paper);background-image:linear-gradient(var(--minor-grid) 1px,transparent 1px),linear-gradient(90deg,var(--minor-grid) 1px,transparent 1px),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:20px 20px,20px 20px,100px 100px,100px 100px;margin:0}a{color:inherit;text-decoration:none}p{line-height:1.6}h1,h2,h3,p{margin-top:0}.site-header,main,footer{background:0 0;max-width:1240px;margin:auto;padding-left:32px;padding-right:32px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:91px;display:flex;position:relative}.mark{font:9px/1.5 var(--font-mono);letter-spacing:.08em;align-items:center;gap:11px;display:flex}.mark b{font:17px var(--font-geist);border:1px solid var(--ink);letter-spacing:-.08em;place-items:center;width:37px;height:37px;display:grid}nav{font:10px var(--font-mono);letter-spacing:.07em;gap:23px;display:flex}nav a:hover,.text-link:hover{color:var(--blue)}.theme-toggle{color:var(--ink);font:9px var(--font-mono);letter-spacing:.08em;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;display:flex}.theme-toggle i{border:1px solid var(--ink);border-radius:10px;width:27px;height:14px;position:relative}.theme-toggle i:after{content:"";background:var(--blue);border-radius:50%;width:8px;height:8px;position:absolute;top:2px;left:3px}.dark .theme-toggle i:after{left:14px}.kicker,.eyebrow{color:var(--blue);font:10px var(--font-mono);letter-spacing:.1em}.hero{border-bottom:1px solid var(--line);align-items:center;min-height:545px;display:flex;position:relative}.hero-copy{max-width:650px;padding:80px 0}.hero h1,.page-header h1{letter-spacing:-.08em;margin:11px 0 5px;font-size:clamp(57px,8vw,104px);font-weight:470;line-height:.96}.period{color:var(--copper)}.hero-role{font:12px var(--font-mono)}.hero-intro{max-width:570px;margin:40px 0 30px;font-size:18px}.actions{align-items:center;gap:12px;display:flex}.button{border:1px solid var(--ink);font:10px var(--font-mono);letter-spacing:.08em;gap:22px;padding:12px 16px;transition:all .2s;display:inline-flex}.button:hover{box-shadow:3px 3px 0 var(--line);transform:translateY(-2px)}.button.primary{background:var(--blue);color:#f4f2e9;border-color:var(--blue)}.text-link{font:10px var(--font-mono);letter-spacing:.08em;border-bottom:1px solid var(--blue);padding-bottom:4px}.portrait-note{width:170px;position:absolute;bottom:75px;right:52px;transform:rotate(4deg)}.portrait-placeholder{aspect-ratio:.82;background:var(--surface);border:1px solid var(--line);letter-spacing:-.12em;place-items:center;font-size:51px;display:grid;position:relative;overflow:hidden}.portrait-placeholder:before{content:"";border:1px solid var(--blue);border-radius:50%;width:150px;height:150px;position:absolute;bottom:-45px}.portrait-placeholder span{z-index:1;position:relative}.portrait-placeholder i{border:1px solid var(--copper);width:75px;height:75px;position:absolute;top:-40px;right:-38px;transform:rotate(45deg)}.portrait-note p,.hero-coordinates{font:9px/1.8 var(--font-mono);letter-spacing:.05em;color:var(--muted)}.portrait-note p{margin:8px 0}.portrait-note em{font-style:normal}.hero-coordinates{text-align:right;position:absolute;top:100px;right:0}.section{border-bottom:1px solid var(--line);padding:110px 0}.section-heading{max-width:490px}.section h2,.contact-strip h2{letter-spacing:-.06em;margin:12px 0;font-size:clamp(35px,4vw,53px);font-weight:450;line-height:1.04}.section-heading>p:last-child,.page-header>p:last-child{color:var(--muted);font-size:15px}.section-heading.inline{justify-content:space-between;align-items:end;max-width:none;display:flex}.bench-wrap{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:42px;display:grid}.bench-tabs{display:contents}.bench-tabs button{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font:9px var(--font-mono);letter-spacing:.08em;cursor:pointer;background:0 0;padding:15px}.bench-tabs button.selected{background:var(--blue);color:#f4f2e9}.bench-panel{grid-column:1/-1;grid-template-columns:1fr 240px;min-height:240px;display:grid}.bench-main{padding:28px}.bench-main h3{letter-spacing:-.05em;margin:12px 0;font-size:26px;font-weight:500}.bench-main p{color:var(--muted);max-width:610px;font-size:14px}.bench-main small{color:var(--copper);font:9px var(--font-mono);letter-spacing:.09em;margin-top:22px;display:block}.bench-photo{border-left:1px solid var(--line);padding:12px;position:relative}.bench-photo>button{z-index:2;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:8px var(--font-mono);cursor:pointer;padding:7px 8px;position:absolute;top:12px;right:12px}.photo-placeholder{color:#f1efe5;height:100%;min-height:210px;font:11px var(--font-mono);letter-spacing:.1em;background:linear-gradient(135deg,#315b78bf,#122432eb);place-items:center;display:grid;position:relative;overflow:hidden}.photo-placeholder:before{content:"";border:1px solid;border-radius:50%;width:160px;height:160px;position:absolute;transform:translate(30px,45px)}.photo-placeholder i{border-top:1px solid;width:180px;position:absolute;transform:rotate(-29deg)}.mode-switch{border:1px solid var(--line);margin:20px 0 15px;display:inline-flex}.mode-switch button{border:0;border-right:1px solid var(--line);color:var(--muted);font:9px var(--font-mono);cursor:pointer;background:0 0;padding:8px 10px}.mode-switch button.selected{background:var(--blue);color:#fff}.course-mini{border-top:1px solid var(--line);max-width:600px;margin:0;padding:0;list-style:none}.course-mini li{font:12px var(--font-mono);border-bottom:1px solid var(--line);padding:7px 0}.extra-study{margin-top:14px!important;font-size:12px!important}.collage{height:555px;margin-top:42px;position:relative}.collage:before{content:"";border:1px solid var(--line);position:absolute;inset:5% 4%;transform:rotate(-.8deg)}.collage-piece{background:var(--surface);border:1px solid var(--line);padding:12px;transition:all .25s;position:absolute}.collage-piece:hover{z-index:3;box-shadow:6px 8px #19283229;transform:translateY(-8px)rotate(0)!important}.collage-piece>div:last-child{padding:10px 2px 2px}.collage-piece span{color:var(--muted);font:9px var(--font-mono)}.collage-piece h3{margin:5px 0 0;font-size:14px;font-weight:520}.piece-1{width:42%;top:4%;left:3%;transform:rotate(-2deg)}.piece-2{width:31%;top:2%;left:43%;transform:rotate(2deg)}.piece-3{width:34%;top:40%;left:60%;transform:rotate(-3deg)}.piece-4{width:34%;top:51%;left:21%;transform:rotate(2deg)}.project-glyph{background:linear-gradient(135deg,#315b7824,transparent),var(--paper);border:1px solid var(--line);height:148px;position:relative;overflow:hidden}.project-glyph.large{height:225px}.project-glyph:before,.project-glyph:after{content:"";width:100%;height:1px;color:var(--line);background:repeating-linear-gradient(90deg,#0000 0 8px,currentColor 9px 10px);position:absolute;top:50%}.project-glyph:after{transform:rotate(90deg)}.glyph-id,.dimension{z-index:2;font:9px var(--font-mono);letter-spacing:.08em;position:absolute}.glyph-id{color:var(--muted);top:9px;left:10px}.dimension{color:var(--blue)}.d-one{top:25px;right:10px}.d-two{bottom:12px;left:12px}.core{border:2px solid var(--blue);background:var(--paper);z-index:1;border-radius:50%;width:35px;height:35px;position:absolute;top:calc(50% - 17px);left:calc(50% - 17px)}.orbit{border:1px solid var(--blue);opacity:.8;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-30deg)}.orbit-a{border-radius:50%;width:76%;height:38%}.orbit-b{width:42%;height:74%;transform:translate(-50%,-50%)rotate(35deg)}.copper .core,.copper .orbit{border-color:var(--copper)}.brass .core,.brass .orbit{border-color:var(--brass)}.cyan .core,.cyan .orbit{border-color:var(--cyan)}.contact-strip{justify-content:space-between;align-items:center;padding:90px 0;display:flex}footer{border-top:1px solid var(--line);height:89px;color:var(--muted);font:9px var(--font-mono);letter-spacing:.06em;justify-content:space-between;align-items:center;display:flex}footer a{color:var(--blue)}.page-header{border-bottom:1px solid var(--line);padding:80px 0 50px}.page-header h1{font-size:clamp(48px,7vw,82px)}.directory-controls{justify-content:space-between;align-items:center;gap:26px;padding:32px 0;display:flex}.directory-controls label{font:10px var(--font-mono);color:var(--muted);letter-spacing:.1em}.directory-controls input{border:0;border-bottom:1px solid var(--line);color:var(--ink);font:12px var(--font-geist);background:0 0;outline:none;margin-left:10px;padding:8px 0}.filter-row{flex-wrap:wrap;gap:6px;display:flex}.filter-row button{border:1px solid var(--line);color:var(--muted);font:9px var(--font-mono);cursor:pointer;background:0 0;padding:7px 9px}.filter-row button.selected,.filter-row button:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.project-grid{grid-template-columns:repeat(2,1fr);gap:18px;padding-bottom:100px;display:grid}.project-card{background:var(--surface);border:1px solid var(--line);grid-template-columns:39% 1fr;transition:all .2s;display:grid}.project-card:hover{box-shadow:4px 5px 0 var(--line);transform:translateY(-3px)}.project-card-copy{padding:20px}.project-card h3{letter-spacing:-.04em;margin:10px 0;font-size:21px;font-weight:500}.project-card p{color:var(--muted);margin-bottom:14px;font-size:13px}.tag-row{flex-wrap:wrap;gap:5px;display:flex}.tag-row span{font:8px var(--font-mono);border:1px solid var(--line);color:var(--muted);padding:4px 6px}.detail-hero{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:70px;padding:65px 0 70px;display:grid}.detail-hero h1{letter-spacing:-.07em;margin:13px 0;font-size:clamp(48px,6vw,74px);font-weight:470;line-height:1}.detail-hero .project-glyph{min-height:330px}.detail-summary{color:var(--muted);font-size:17px}.specs{border-top:1px solid var(--line);margin-top:35px}.specs div{border-bottom:1px solid var(--line);font:10px var(--font-mono);justify-content:space-between;padding:9px 0;display:flex}.specs span:first-child{color:var(--muted)}.notebook{max-width:760px;padding:75px 0 110px}.notebook section{border-bottom:1px solid var(--line);padding:28px 0}.notebook h2{letter-spacing:-.045em;font-size:27px;font-weight:500}.notebook p{color:var(--muted);font-size:16px}.two-column{grid-template-columns:1fr 1fr;gap:70px;padding:80px 0 110px;display:grid}.note-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.note-list li{border-bottom:1px solid var(--line);padding:16px 0}.note-list strong{font-weight:500;display:block}.note-list span{color:var(--muted);font:11px var(--font-mono)}.semester{border-bottom:1px solid var(--line);padding:32px 0}.semester h2{letter-spacing:-.04em;font-size:27px;font-weight:500}.current-label{font:9px var(--font-mono);color:var(--copper)}.course-table{border-collapse:collapse;width:100%}.course-table td{border-top:1px solid var(--line);padding:13px 8px;font-size:14px}.course-table td:first-child,.course-table td:last-child{font:10px var(--font-mono);color:var(--muted);width:15%}.playground-list{padding:40px 0 100px}.playground-list article{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr 130px;gap:20px;padding:24px 0;display:grid}.playground-list h2{margin:0;font-size:25px;font-weight:500}.playground-list p{color:var(--muted);margin:0}.playground-list span{font:10px var(--font-mono);color:var(--blue)}.shelf{border-bottom:1px solid var(--line);padding:42px 0}.shelf-heading{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.shelf-heading p{margin:0}.shelf-heading span{font:9px var(--font-mono);color:var(--muted)}.books-row{grid-template-columns:repeat(5,1fr);gap:18px;display:grid}.books-row>div:first-child{grid-column:span 2}.books-row>div:first-child .book-cover{height:330px}.book-cover{color:#f5f0e5;height:240px;font-family:var(--font-mono);border:1px solid #ffffff4d;flex-direction:column;justify-content:space-between;padding:16px;display:flex;position:relative;overflow:hidden;box-shadow:4px 5px #1928322b}.book-cover:after{content:"";border:1px solid #ffffff73;border-radius:50%;width:180px;height:180px;position:absolute;top:-45px;right:-70px}.book-cover b{letter-spacing:-.07em;z-index:1;font-size:24px;line-height:1.04}.book-cover span,.book-cover small{letter-spacing:.07em;z-index:1;font-size:9px}.book-cover.favorite{outline-offset:4px;outline:2px solid #b89235}.ice{background:linear-gradient(145deg,#7699a7,#263d56)}.oxide{background:linear-gradient(145deg,#aa5d42,#4c2f2c)}.blue{background:linear-gradient(145deg,#426d88,#20344b)}.ochre{background:linear-gradient(145deg,#aa8755,#55412c)}.red{background:linear-gradient(145deg,#9a4c43,#402c32)}.navy{background:linear-gradient(145deg,#253b58,#172534)}.sand{background:linear-gradient(145deg,#a88859,#514233)}.dune{background:linear-gradient(145deg,#b67f45,#563725)}.dune2{background:linear-gradient(145deg,#a95939,#412a27)}.dune3{background:linear-gradient(145deg,#67774a,#263c35)}.dune4{background:linear-gradient(145deg,#776154,#302f39)}.books-row h3{margin:14px 0 3px;font-size:14px;font-weight:500}.books-row p{color:var(--muted);margin:0;font-size:11px}.series-row{justify-content:center;align-items:center;height:335px;padding-left:80px;display:flex;position:relative}.series-cover{width:190px;transform:translateX(calc((var(--fan) / 5) * 60px)) rotate(var(--fan));transform-origin:bottom;transition:all .2s;position:absolute}.series-cover:hover{z-index:3;transform:translateX(calc((var(--fan) / 5) * 60px)) translateY(-15px) rotate(var(--fan))}.series-cover:nth-child(5){display:none}@media (max-width:760px){.site-header,main,footer{padding-left:20px;padding-right:20px}.site-header{height:75px}.site-header nav{display:none}.hero{align-items:start;min-height:590px}.hero-copy{padding-top:70px}.hero-intro{margin-top:32px;font-size:16px}.portrait-note{width:125px;bottom:35px;right:20px}.hero-coordinates{display:none}.bench-wrap{grid-template-columns:repeat(3,1fr)}.bench-panel{grid-template-columns:1fr}.bench-photo{border-left:0;border-top:1px solid var(--line);min-height:64px}.photo-placeholder{min-height:200px}.collage{height:780px}.piece-1{width:68%;left:0}.piece-2{width:51%;top:26%;left:46%}.piece-3{width:57%;top:57%;left:37%}.piece-4{width:55%;top:41%;left:2%}.section-heading.inline,.contact-strip,.directory-controls{display:block}.section-heading.inline .text-link{margin-top:15px;display:inline-block}.contact-strip .button{margin-top:25px}.filter-row{margin-top:18px}.detail-hero,.two-column,.project-grid{grid-template-columns:1fr;gap:35px}.detail-hero{padding-top:40px}.playground-list article{grid-template-columns:1fr;gap:8px}.actions{flex-wrap:wrap}footer{flex-direction:column;align-items:flex-start;gap:12px;height:auto;padding-top:22px;padding-bottom:22px}.books-row{grid-template-columns:repeat(2,1fr)}.books-row>div:first-child{grid-column:span 2}.series-row{transform-origin:0;margin-right:-80px;transform:scale(.82)}.shelf{overflow:hidden}}.dev-lock{max-width:430px;padding:70px 0 110px}.dev-lock h2{letter-spacing:-.05em;font-size:35px;font-weight:500}.dev-lock p{color:var(--muted)}.dev-lock input{border:1px solid var(--line);width:100%;color:var(--ink);background:0 0;margin:22px 0 12px;padding:12px;display:block}.dev-lock small{color:var(--copper);margin-top:14px;display:block}.lab{padding:42px 0 110px}.lab-controls{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:22px;padding:22px;display:grid}.lab-controls p{grid-column:1/-1;margin:0}.lab-controls label{font:11px var(--font-mono);color:var(--muted)}.lab-controls input{width:100%;accent-color:var(--blue);margin-top:14px;display:block}.lab-controls b{color:var(--blue);font:12px var(--font-mono)}.lab-note{color:var(--muted);margin:18px 0;font-size:12px}@media (max-width:760px){.lab-controls{grid-template-columns:1fr}}.add-book{border:1px solid var(--line);grid-template-columns:repeat(3,1fr) auto;align-items:end;gap:10px;margin-top:22px;padding:20px;display:grid}.add-book p{grid-column:1/-1;margin:0}.add-book input{background:var(--surface);border:1px solid var(--line);min-width:0;color:var(--ink);padding:10px}.bench-wrap{border:1px solid var(--line);background:0 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.bench-item{border-right:1px solid var(--line);flex-direction:column;min-height:250px;display:flex}.bench-item .bench-main{padding:23px}.bench-item .bench-main h3{margin:18px 0 8px;font-size:19px}.bench-item .bench-main p{font-size:13px}.bench-item .bench-photo{border-left:0;border-top:1px solid var(--line);margin-top:auto;padding:10px}.bench-item .photo-placeholder{min-height:135px}.books-row{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start}.books-row>div:first-child,.books-row>div:first-child .book-cover{grid-column:auto;height:240px}.books-row.current-row{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px}.books-row.current-row .lead-book .book-cover{height:300px}.books-row .book-cover{height:240px}.series-row{max-width:720px;height:355px;margin:auto;padding:0;display:block}.series-cover{transform-origin:bottom;width:190px;bottom:15px}.check-group{font:11px var(--font-mono);color:var(--muted);flex-direction:column;gap:7px;display:flex}.check-group>span{color:var(--ink);letter-spacing:.07em;font-size:10px}.check-group label{align-items:center;gap:8px;display:flex}.check-group input{width:auto!important;margin:0!important;display:inline!important}.bench-wrap{background:0 0;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.bench-item{background:var(--surface)}.bench-item:last-child{border-right:1px solid var(--line)}.books-row,.books-row.current-row{grid-template-columns:repeat(5,190px);justify-content:space-between;gap:28px;max-width:none}.books-row.current-row{grid-template-columns:repeat(3,190px);justify-content:center}.books-row.current-row.count-1{grid-template-columns:190px}.books-row.current-row.count-2{grid-template-columns:repeat(2,190px)}.books-row>div:first-child .book-cover,.books-row .book-cover,.books-row.current-row .lead-book .book-cover{height:280px}.lead-book{position:relative}.lead-book:before{content:"PRIMARY READ";color:var(--blue);font:9px var(--font-mono);letter-spacing:.09em;margin-bottom:9px;display:block}.lead-book .book-cover{outline:2px solid var(--blue);outline-offset:5px}.series-row{max-width:380px;height:330px}.series-cover{width:190px;bottom:8px}.favorite-layout{grid-template-columns:minmax(0,1fr);gap:30px;display:grid}.series-label{font:9px var(--font-mono);color:var(--muted);letter-spacing:.08em}.favorites-row{justify-content:start}:root{--copper:#725477;--grid:#29434329;--minor-grid:#2943430e;--line:#647b7a;--muted:#40575b}html.dark{--copper:#c09bc7;--grid:#aacbcb1f;--minor-grid:#aacbcb09;--line:#73909a;--muted:#c1ceca}.collage-piece,.project-card{border-color:var(--ink);background:var(--surface)}.favorite-layout{flex-wrap:wrap;align-items:flex-end;gap:28px;display:flex}.series-group{width:380px}.favorite-layout .favorites-row{flex-wrap:wrap;flex:1;justify-content:flex-start;gap:28px;display:flex}.favorite-layout .favorites-row>div{width:190px}.books-row.current-row.count-1{justify-content:center;display:flex}.lead-book:before{display:none}.primary-label{color:var(--blue);font:9px var(--font-mono);letter-spacing:.09em;margin-top:8px;display:block}.series-group h3{margin:14px 0 3px;font-size:14px;font-weight:500}.series-group>p{color:var(--muted);margin:0;font-size:11px}.books-row.current-row.count-1{width:190px;margin-left:auto;margin-right:auto;display:block}.books-row.current-row.count-1>div{width:190px}:root{--copper:#4f314f}html.dark{--copper:#a87bb1}.books-row,.books-row.current-row{justify-content:flex-start}.series-group{max-width:408px}.series-group .series-row{width:100%;max-width:none}.series-cover{transform-origin:bottom;width:155px}.series-cover .book-cover{height:230px}.series-row{height:280px}.series-cover{bottom:25px}.series-cover:nth-child(n){display:block}.series-cover:hover{z-index:30}.series-cover:first-child{z-index:20}.series-cover:nth-child(2){z-index:19}.series-cover:nth-child(3){z-index:18}.series-cover:nth-child(4){z-index:17}.series-cover:nth-child(5){z-index:16}.series-cover:nth-child(6){z-index:15}.series-cover:nth-child(7){z-index:14}.series-cover:nth-child(8){z-index:13}.series-cover:nth-child(9){z-index:12}.series-cover:nth-child(10){z-index:11}.series-cover:nth-child(11){z-index:10}.series-cover:nth-child(12){z-index:9}.series-cover:nth-child(13){z-index:8}.series-cover:nth-child(14){z-index:7}.series-cover:nth-child(15){z-index:6}.series-cover:nth-child(16){z-index:5}.series-cover:nth-child(17){z-index:4}.series-cover:nth-child(18){z-index:3}.series-cover:nth-child(19){z-index:2}.series-cover:nth-child(20){z-index:1}.books-row.current-row{justify-content:center;min-height:345px}.books-row.current-row.count-1{min-height:345px}@media (max-width:760px){.bench-wrap{grid-template-columns:1fr}.bench-item{border-bottom:1px solid var(--line);border-right:0!important}.bench-item:last-child{border-bottom:0}.books-row,.books-row.current-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:none}.books-row.current-row>div:first-child{grid-column:span 2}.books-row .book-cover,.books-row>div:first-child .book-cover,.books-row.current-row .lead-book .book-cover{height:260px}.series-row{height:290px;margin:0;transform:none}.series-cover{width:155px}.series-cover .book-cover{height:245px}.add-book{grid-template-columns:1fr}.add-book p{grid-column:auto}.books-row.current-row.count-1{grid-template-columns:minmax(0,1fr)}.books-row.current-row.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.books-row.current-row.count-1>div:first-child{grid-column:auto}.lead-book:before{margin-top:5px}}.books-row{justify-content:center}.bench-wrap{flex-wrap:wrap;align-items:stretch;display:flex}.bench-item:not(.bench-reading){flex:1 1 0;min-width:260px}.bench-reading{flex:0 0 150px;align-self:stretch;max-width:150px}.bench-reading .bench-main{justify-content:center;height:100%}.bench-book{aspect-ratio:.71;min-height:105px;width:auto!important;height:min(180px,100% - 86px)!important;margin:8px auto!important}.bench-reading{aspect-ratio:.71;flex:none;width:auto;max-width:none}.bench-book{aspect-ratio:.71;min-height:0;max-height:none;flex:none!important;width:100%!important;height:auto!important}.bench-reading h3,.bench-reading small{text-align:left;align-self:stretch;width:100%}.bench-reading h3{margin:12px 0 8px}.bench-reading small{margin-top:0}@media (max-width:760px){.bench-item:not(.bench-reading),.bench-reading{flex:100%;max-width:none}.bench-book{height:150px!important}}.dev-hub{grid-template-columns:repeat(3,1fr);gap:12px;padding:48px 0 110px;display:grid}.dev-hub a{border:1px solid var(--line);background:var(--surface);font:11px var(--font-mono);letter-spacing:.08em;padding:24px}.section-index>.editor-section,.section-index>.shelf,.section-books>.home-focus-editor,.section-books>.home-location-editor,.section-books>.dev-projects,.section-books>.course-editor,.section-home>.shelf,.section-home>.course-editor,.section-home>.editor-section:not(.home-focus-editor):not(.home-location-editor):not(.dev-projects),.section-classes>.shelf,.section-classes>.home-focus-editor,.section-classes>.home-location-editor,.section-classes>.dev-projects,.section-classes>.editor-section:not(.course-editor){display:none}.focus-controls{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.focus-controls>div,.focus-controls>label{border:1px solid var(--line);font:9px var(--font-mono);color:var(--muted);align-items:center;gap:9px;padding:10px;display:flex}.focus-controls b{color:var(--ink);font-size:9px}.focus-controls input{accent-color:var(--blue)}.focus-controls select{color:var(--ink);font:inherit;background:0 0;border:0}.focus-controls .focus-item-control{grid-template-columns:120px 1fr 1fr 120px auto auto;align-items:center;gap:8px;width:100%;display:grid}.focus-item-control>input{border:1px solid var(--line);background:var(--paper);min-width:0;color:var(--ink);font:10px var(--font-geist);padding:8px}.focus-item-control.reading-control{grid-template-columns:150px auto 1fr}.bench-reading .bench-main{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;display:flex}.bench-reading .eyebrow{align-self:flex-start}.bench-reading h3,.bench-reading small{align-self:center;width:min(185px,100%)}.bench-reading h3{margin:0;font-size:16px!important}.bench-reading small{margin:3px 0 0}.bench-book{color:#f5f0e5;width:min(185px,100%);height:259px;font:10px var(--font-mono);place-items:center;margin:10px auto;padding:3px;display:grid;position:relative;overflow:hidden}.bench-book img{object-fit:contain;width:100%;height:100%}.bench-study .course-mini li{padding:4px 0;font-size:10px;line-height:1.3}.bench-study .course-mini{margin-top:4px}@media (max-width:760px){.focus-controls .focus-item-control{grid-template-columns:1fr 1fr}.focus-item-control.reading-control,.dev-hub{grid-template-columns:1fr}}.bench-reading .bench-main{min-height:0}.bench-reading{flex-basis:180px;max-width:180px}.bench-book{aspect-ratio:.71;flex:none;align-self:center;min-height:0;max-height:none;width:100%!important;height:auto!important;margin:8px auto!important}.bench-reading h3,.bench-reading small{width:100%}.bench-reading h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.2em;line-height:1.1;display:-webkit-box;overflow:hidden;font-size:clamp(12px,10cqw,16px)!important}.bench-reading small{white-space:normal;text-overflow:clip;font-size:clamp(8px,7cqw,9px);overflow:visible}.bench-book{aspect-ratio:auto;justify-content:center;display:flex;overflow:visible;margin:3px auto!important;padding:0!important}.bench-book:has(img){background:0 0}.bench-reading .eyebrow{text-align:left;width:100%}.bench-book img{object-fit:contain;width:100%;height:auto;max-height:min(210px,120cqw);display:block}.bench-reading .bench-main{padding:28px 23px 23px}.bench-reading .eyebrow{margin:0 0 8px}.bench-reading h3{min-height:2.2em;margin:0 0 2px!important;font-size:clamp(10px,9cqw,16px)!important}.bench-reading small{font-size:clamp(7px,6cqw,9px)}.bench-reading .bench-book img{max-height:min(180px,95cqw)}.bench-reading{container-type:size}.bench-reading .bench-book{max-width:100%;width:auto!important;height:calc(100cqh - 132px)!important;margin:0 auto 2px!important}.bench-reading .bench-book img{object-fit:contain;width:auto;max-width:100%;height:100%;max-height:none}.bench-reading .bench-main{grid-template-rows:auto minmax(0,1fr) auto auto;align-items:start;display:grid}.bench-reading .eyebrow{grid-row:1;place-self:start stretch;height:auto;line-height:normal}.bench-reading .bench-book{grid-row:2;min-height:0;height:100%!important}.bench-reading h3{grid-row:3;min-height:0}.bench-reading small{grid-row:4}.bench-reading .bench-book{margin:0 auto 2px!important}.bench-reading h3{padding-top:8px;margin:0 0 4px!important}.dev-editor-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:18px 0;display:flex}.dev-editor-nav a{border:1px solid var(--line);color:var(--muted);font:9px var(--font-mono);letter-spacing:.08em;padding:7px 9px}.dev-editor-nav a.active,.dev-editor-nav a:hover{border-color:var(--blue);background:var(--blue);color:#fff}.bench-inline{border:0;border-bottom:1px dashed var(--line);width:100%;color:var(--ink);font:inherit;background:0 0}.bench-inline.eyebrow{color:var(--blue);font:10px var(--font-mono);letter-spacing:.1em}.bench-inline.bench-title{letter-spacing:-.05em;margin:12px 0;font-size:19px;font-weight:500}.bench-inline.bench-copy{color:var(--muted);margin:0 0 12px;font-size:13px}.bench-main p,.bench-main .extra-study{white-space:pre-wrap}.bench-inline.bench-copy{resize:vertical;min-height:5.8em;line-height:1.55}.bench-inline.bench-meta{color:var(--copper);font:9px var(--font-mono);letter-spacing:.09em}.home-focus-editor{flex-direction:column;display:flex}.home-focus-editor>.focus-controls{order:-1;margin-top:0;margin-bottom:18px}.focus-controls .focus-item-control{grid-template-columns:none;width:auto;display:flex}.focus-controls input[type=checkbox],.book-highlight input[type=checkbox]{appearance:none;box-sizing:border-box;border:1px solid var(--ink);cursor:pointer;vertical-align:middle;background:0 0;border-radius:10px;width:30px;min-width:30px;height:16px;padding:0;transition:background-color .15s;display:inline-block;position:relative;margin:0 2px 0 0!important}.focus-controls input[type=checkbox]:after,.book-highlight input[type=checkbox]:after{content:"";box-sizing:border-box;border:1px solid var(--blue);background:var(--paper);border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:1px;left:1px}.focus-controls input[type=checkbox]:checked:after,.book-highlight input[type=checkbox]:checked:after{transform:translate(14px)}.focus-controls input[type=checkbox]:checked{background:var(--blue)}.book-highlight input[type=checkbox]:checked{background:var(--copper)}.location-editor{grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) auto auto;align-items:end;gap:10px;display:grid}.location-editor label{color:var(--muted);font:9px var(--font-mono);letter-spacing:.08em;gap:7px;display:grid}.location-editor input{border:1px solid var(--line);background:var(--paper);min-width:0;color:var(--ink);font:13px var(--font-geist);padding:10px}.location-editor .button{align-items:center;height:38px;padding:0 12px}.location-editor output{color:var(--blue);font:10px var(--font-mono);white-space:nowrap;padding:11px 0}.location-editor-note{color:var(--muted);margin:10px 0 0;font-size:11px}@media (max-width:760px){.location-editor{grid-template-columns:1fr}.location-editor output{padding-top:0}}.mark img{object-fit:cover;border:0;width:37px;height:37px}.portrait-placeholder{background:var(--surface)}.portrait-placeholder:before,.portrait-placeholder i{display:none}.portrait-placeholder img{object-fit:cover;width:100%;height:100%}.project-media{object-fit:cover;border:1px solid var(--ink);background:var(--surface);width:100%;height:100%;display:block}.project-document{border:1px solid var(--line);min-height:160px;color:var(--blue);font:10px var(--font-mono);letter-spacing:.08em;place-items:center;display:grid}.project-card>.project-media,.project-card>.project-glyph{min-height:100%}.collage-piece>.project-media{height:148px}.collage-piece .project-media.large{height:225px}.project-detail-hero{align-items:center}.project-hero-media,.project-hero-media>.project-media,.project-hero-media>.project-glyph{min-height:330px}.project-hero-media>p,.project-gallery figcaption,.project-section-media figcaption{color:var(--muted);font:10px/1.5 var(--font-mono);margin:8px 0 0}.project-status{color:var(--copper);font:10px var(--font-mono);letter-spacing:.08em;margin:22px 0 6px}.project-role{color:var(--muted);margin:0;font-size:13px}.project-gallery{border-bottom:1px solid var(--line);padding:75px 0}.related-projects{border-bottom:1px solid var(--line);padding:28px 0 60px}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;display:grid}.gallery-grid figure,.project-section-media{margin:0}.gallery-grid figure{align-self:start}.gallery-grid .project-media{aspect-ratio:auto;object-fit:contain;width:100%;height:auto}.gallery-grid figcaption small{margin-top:5px;display:block}.project-notebook{padding-top:0;padding-bottom:20px}.project-requirements ul,.project-bullets{color:var(--muted);padding-left:22px;list-style:outside}.project-requirements li,.project-bullets li{margin:8px 0;line-height:1.55}.project-section-media{width:fit-content;max-width:100%;margin-top:24px}.project-section-media .project-media{object-fit:contain;background:var(--surface);width:auto;max-width:100%;height:auto;max-height:500px}.project-notebook{max-width:none}.project-hero-media,.project-gallery figure,.project-section-media{flex-direction:column;align-items:center;display:flex}.project-hero-media{justify-content:center;min-height:0}.project-hero-media>.project-media{object-fit:contain;width:auto;max-width:100%;height:360px;min-height:0}.gallery-grid .project-media,.project-section-media .project-media{object-fit:contain;width:auto;max-width:100%;height:360px;max-height:none}.project-gallery figcaption,.project-section-media figcaption,.project-hero-media>p{align-self:stretch}@media (max-width:760px){.project-hero-media>.project-media,.gallery-grid .project-media,.project-section-media .project-media{height:auto;max-height:360px}}.project-downloads{flex-wrap:wrap;gap:10px;display:flex}.project-downloads .button{align-items:center}.project-downloads small{color:inherit;font:8px var(--font-mono)}.related-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;margin-top:26px;display:grid}.related-projects>.related-project-grid{display:grid}.related-projects a{border:1px solid var(--line);background:var(--surface);min-height:175px;padding:18px;transition:all .2s}.related-projects a:hover{border-color:var(--ink);box-shadow:4px 5px 0 var(--line);transform:translateY(-3px)}.related-projects span{color:var(--blue);font:9px var(--font-mono)}.related-projects strong{margin:10px 0 6px;font-size:17px;font-weight:500;display:block}.related-projects p{color:var(--muted);margin:0;font-size:13px}.related-projects .all-projects-link{min-height:0;color:var(--blue);font:9px var(--font-mono);letter-spacing:.08em;white-space:nowrap;margin-top:16px;padding:8px 10px;display:inline-block}@media (max-width:760px){.gallery-grid,.related-project-grid{grid-template-columns:1fr}.project-hero-media,.project-hero-media>.project-media,.project-hero-media>.project-glyph{min-height:250px}.collage-piece>.project-media,.collage-piece .project-media.large{aspect-ratio:4/3;height:auto}}.gallery-grid{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:32px;display:flex}.gallery-grid figure,.project-section-media{text-align:center;align-items:center;width:fit-content;max-width:100%}.gallery-grid .project-media,.project-section-media .project-media{width:auto;max-width:100%;height:320px;max-height:none;display:block}.project-section-media{margin:28px auto 0}.project-gallery figcaption,.project-section-media figcaption,.project-hero-media>p{text-align:center;width:100%}@media (max-width:760px){.gallery-grid .project-media,.project-section-media .project-media{height:auto;max-height:320px}}.project-section-media-grid{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:24px;margin-top:28px;display:flex}.project-section-media-grid .project-section-media{margin:0}.project-media-open{cursor:zoom-in;background:0 0;border:0;width:fit-content;max-width:100%;padding:0;line-height:0;display:block}.project-hero-media>.project-media-open>.project-media{object-fit:contain;width:auto;max-width:100%;height:360px;min-height:0}.project-section-media-grid:has(>.project-section-media:only-child) .project-media{height:500px}.project-section-link{color:var(--blue);font:10px var(--font-mono);letter-spacing:.08em;margin-top:18px;display:inline-block}.project-section-title{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.project-section-title h2{margin:0}.project-section-title h2 a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--blue);-webkit-text-decoration-color:var(--blue);-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue);text-underline-offset:5px}.project-section-title-link{color:var(--blue);font:9px var(--font-mono);letter-spacing:.08em;white-space:nowrap}.image-lightbox{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:zoom-out;background:#060f15d1;place-items:center;padding:40px;display:grid;position:fixed;inset:0}.image-lightbox img{border:1px solid var(--line);background:var(--surface);object-fit:contain;cursor:default;max-width:min(92vw,1600px);max-height:88vh;display:block}.image-lightbox-close{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--ink);cursor:pointer;font-size:24px;line-height:1;position:fixed;top:18px;right:22px}@media (max-width:760px){.project-section-media-grid:has(>.project-section-media:only-child) .project-media{height:auto;max-height:460px}.image-lightbox{padding:20px}}.project-hero-media>.project-media,.project-hero-media>.project-media-open>.project-media{width:auto;max-width:100%;height:auto;max-height:360px}.gallery-grid .project-media,.project-section-media .project-media{width:auto;max-width:100%;height:auto;max-height:320px}.project-section-media-grid:has(>.project-section-media:only-child) .project-media{max-height:500px}.project-section-media:has(.project-media.wide){width:fit-content}.project-section-media .project-media-open.wide{border:1px solid var(--ink);background:var(--surface);box-sizing:content-box;width:fit-content}.project-section-media .project-media.wide{border:0;width:auto;max-width:100%;height:auto;max-height:none;display:block}.collage.dev-collage{height:600px}.collage.dev-collage.count-3{height:430px}.collage.dev-collage.count-4,.collage.dev-collage.count-5{height:500px}.collage.dev-collage.count-6{height:530px}.collage.dev-collage.count-7{height:575px}.collage.dev-collage.count-8{height:605px}.collage.dev-collage.count-9{height:650px}.collage.dev-collage.count-10{height:680px}.collage.dev-collage.count-3 .collage-piece:first-child{width:34%;top:4%;left:3%;transform:rotate(-5deg)}.collage.dev-collage.count-3 .collage-piece:nth-child(2){width:27%;top:16%;left:38%;transform:rotate(4deg)}.collage.dev-collage.count-3 .collage-piece:nth-child(3){width:31%;top:3%;left:66%;transform:rotate(-3deg)}.collage.dev-collage.count-4 .collage-piece:first-child{width:35%;top:5%;left:3%;transform:rotate(-6deg)}.collage.dev-collage.count-4 .collage-piece:nth-child(2){width:25%;top:2%;left:51%;transform:rotate(5deg)}.collage.dev-collage.count-4 .collage-piece:nth-child(3){width:28%;top:44%;left:65%;transform:rotate(-4deg)}.collage.dev-collage.count-4 .collage-piece:nth-child(4){width:32%;top:51%;left:20%;transform:rotate(3deg)}.collage.dev-collage.count-5 .collage-piece:first-child{width:33%;top:5%;left:4%;transform:rotate(-6deg)}.collage.dev-collage.count-5 .collage-piece:nth-child(2){width:22%;top:2%;left:48%;transform:rotate(5deg)}.collage.dev-collage.count-5 .collage-piece:nth-child(3){width:26%;top:21%;left:70%;transform:rotate(-3deg)}.collage.dev-collage.count-5 .collage-piece:nth-child(4){width:27%;top:51%;left:12%;transform:rotate(3deg)}.collage.dev-collage.count-5 .collage-piece:nth-child(5){width:31%;top:43%;left:41%;transform:rotate(-5deg)}.collage.dev-collage.count-6 .collage-piece:first-child{width:32%;top:5%;left:3%;transform:rotate(-7deg)}.collage.dev-collage.count-6 .collage-piece:nth-child(2){width:23%;top:2%;left:47%;transform:rotate(5deg)}.collage.dev-collage.count-6 .collage-piece:nth-child(3){width:26%;top:18%;left:70%;transform:rotate(-4deg)}.collage.dev-collage.count-6 .collage-piece:nth-child(4){width:24%;top:48%;left:9%;transform:rotate(4deg)}.collage.dev-collage.count-6 .collage-piece:nth-child(5){width:31%;top:39%;left:39%;transform:rotate(-6deg)}.collage.dev-collage.count-6 .collage-piece:nth-child(6){width:22%;top:54%;left:74%;transform:rotate(4deg)}.collage.dev-collage.count-7 .collage-piece:first-child{width:31%;top:5%;left:4%;transform:rotate(-7deg)}.collage.dev-collage.count-7 .collage-piece:nth-child(2){width:21%;top:2%;left:48%;transform:rotate(6deg)}.collage.dev-collage.count-7 .collage-piece:nth-child(3){width:27%;top:13%;left:69%;transform:rotate(-4deg)}.collage.dev-collage.count-7 .collage-piece:nth-child(4){width:22%;top:42%;left:10%;transform:rotate(5deg)}.collage.dev-collage.count-7 .collage-piece:nth-child(5){width:30%;top:35%;left:39%;transform:rotate(-6deg)}.collage.dev-collage.count-7 .collage-piece:nth-child(6){width:22%;top:47%;left:74%;transform:rotate(3deg)}.collage.dev-collage.count-7 .collage-piece:nth-child(7){width:27%;top:67%;left:27%;transform:rotate(-4deg)}.collage.dev-collage.count-8 .collage-piece:first-child{width:31%;top:6%;left:2%;transform:rotate(-8deg)}.collage.dev-collage.count-8 .collage-piece:nth-child(2){width:20%;top:2%;left:45%;transform:rotate(6deg)}.collage.dev-collage.count-8 .collage-piece:nth-child(3){width:27%;top:16%;left:68%;transform:rotate(-4deg)}.collage.dev-collage.count-8 .collage-piece:nth-child(4){width:23%;top:35%;left:13%;transform:rotate(5deg)}.collage.dev-collage.count-8 .collage-piece:nth-child(5){width:30%;top:31%;left:39%;transform:rotate(-7deg)}.collage.dev-collage.count-8 .collage-piece:nth-child(6){width:21%;top:43%;left:76%;transform:rotate(3deg)}.collage.dev-collage.count-8 .collage-piece:nth-child(7){width:25%;top:64%;left:2%;transform:rotate(-3deg)}.collage.dev-collage.count-8 .collage-piece:nth-child(8){width:25%;top:64%;left:41%;transform:rotate(6deg)}.collage.dev-collage.count-9 .collage-piece:first-child,.collage.dev-collage.count-10 .collage-piece:first-child{width:30%;top:5%;left:2%;transform:rotate(-8deg)}.collage.dev-collage.count-9 .collage-piece:nth-child(2),.collage.dev-collage.count-10 .collage-piece:nth-child(2){width:20%;top:2%;left:44%;transform:rotate(6deg)}.collage.dev-collage.count-9 .collage-piece:nth-child(3),.collage.dev-collage.count-10 .collage-piece:nth-child(3){width:26%;top:14%;left:69%;transform:rotate(-4deg)}.collage.dev-collage.count-9 .collage-piece:nth-child(4),.collage.dev-collage.count-10 .collage-piece:nth-child(4){width:22%;top:35%;left:12%;transform:rotate(5deg)}.collage.dev-collage.count-9 .collage-piece:nth-child(5),.collage.dev-collage.count-10 .collage-piece:nth-child(5){width:29%;top:31%;left:39%;transform:rotate(-7deg)}.collage.dev-collage.count-9 .collage-piece:nth-child(6),.collage.dev-collage.count-10 .collage-piece:nth-child(6){width:20%;top:43%;left:76%;transform:rotate(3deg)}.collage.dev-collage.count-9 .collage-piece:nth-child(7),.collage.dev-collage.count-10 .collage-piece:nth-child(7){width:24%;top:63%;left:2%;transform:rotate(-3deg)}.collage.dev-collage.count-9 .collage-piece:nth-child(8),.collage.dev-collage.count-10 .collage-piece:nth-child(8){width:23%;top:62%;left:30%;transform:rotate(6deg)}.collage.dev-collage.count-9 .collage-piece:nth-child(9),.collage.dev-collage.count-10 .collage-piece:nth-child(9){width:26%;top:64%;left:57%;transform:rotate(-5deg)}.collage.dev-collage.count-10 .collage-piece:nth-child(10){width:19%;top:59%;left:79%;transform:rotate(4deg)}.about-introduction{padding-top:50px;padding-bottom:50px}.about-introduction h2,.about-record h2,.about-skills h2{font-size:clamp(30px,3.3vw,44px)}.about-introduction p,.experience-record>p{color:var(--muted);font-size:15px}.about-education{border:1px solid var(--ink);background:var(--surface);align-self:start;padding:24px}.about-education h2{letter-spacing:-.045em;margin:10px 0;font-size:24px;font-weight:500}.about-education p{color:var(--muted);margin:7px 0;font-size:14px}.about-education .button{margin-top:18px}.about-education small{color:var(--muted);font:9px/1.55 var(--font-mono);margin-top:12px;display:block}.about-record{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:72px;display:grid}.experience-list{border-top:1px solid var(--line)}.experience-record{border-bottom:1px solid var(--line);padding:24px 0 25px}.experience-record-head{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.experience-record h3{letter-spacing:-.035em;margin:0;font-size:19px;font-weight:500}.experience-record-head p{color:var(--blue);font:10px var(--font-mono);letter-spacing:.06em;margin:5px 0 0}.experience-record-head>span{color:var(--muted);font:9px var(--font-mono);letter-spacing:.05em;text-align:right;flex:none}.experience-record>p{margin:14px 0 0}.about-skills{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:72px;display:grid}.about-skills .note-list{margin:0}.about-contact{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:72px;display:grid}.about-contact-top{border-bottom:1px solid var(--line);padding:25px 0 28px}.about-contact-top>.kicker{margin-bottom:14px}.about-contact-top .contact-links{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.about-contact-top .contact-links a{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:70px;padding:12px 18px}.about-contact-top .contact-links a+a{border-left:1px solid var(--line)}.contact-links{border-top:1px solid var(--line)}.contact-links a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;padding:18px 0;display:flex}.contact-links a:hover{color:var(--blue)}.contact-links span{color:var(--muted);font:9px var(--font-mono);letter-spacing:.08em}.contact-links strong{font-size:15px;font-weight:500}.contact-strip{grid-template-columns:minmax(0,1.3fr) minmax(255px,.7fr);align-items:start;gap:48px;display:grid}.contact-strip h2{white-space:nowrap;max-width:none;font-size:clamp(34px,3.4vw,46px)}.landing-contact-links{width:min(100%,330px);margin:0 0 0 auto}.focus.section,.work.section,.about-record.section,.about-skills.section{padding-top:82px;padding-bottom:82px}.resume-download{padding-top:0}@media (min-width:761px) and (max-width:980px){.contact-strip{grid-template-columns:1fr;gap:28px}.landing-contact-links{margin-left:0}}@media (max-width:760px){.about-introduction{padding-top:45px;padding-bottom:45px}.about-record,.about-skills,.about-contact{grid-template-columns:1fr;gap:28px}.about-contact-top .contact-links{grid-template-columns:1fr}.about-contact-top .contact-links a+a{border-left:0}.contact-strip{grid-template-columns:1fr;gap:28px}.contact-strip h2{white-space:normal}.landing-contact-links{width:100%;margin-left:0}.contact-links a{flex-direction:column;align-items:start;gap:7px}.experience-record-head{flex-direction:column;align-items:start;gap:8px}.experience-record-head>span{text-align:left}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
