{"roots":["3778:56167"],"nodeById":{"3778:56167":{"type":"WEBPAGE","id":"3778:56167","name":"/internetmuseum","absoluteBoundingBox":{"x":21155.0,"y":-33883.0,"width":1408.0,"height":1244.0},"isolatedAbsoluteRenderBounds":{"x":21155.0,"y":-33883.0,"width":1408.0,"height":1244.0},"relativeTransform":[[1.0,0.0,21155.0],[0.0,1.0,-33883.0]],"size":{"x":1408.0,"y":1244.0},"fills":[{"opacity":0.298039227724075,"blendMode":"NORMAL","type":"SOLID","color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"visible":true}],"strokeAlign":"INSIDE","strokes":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"children":["3778:56168"]},"3778:56168":{"type":"FRAME","id":"3778:56168","name":"Desktop","absoluteBoundingBox":{"x":21219.0,"y":-33783.0,"width":1280.0,"height":1080.0},"isolatedAbsoluteRenderBounds":{"x":21219.0,"y":-33783.0,"width":1280.0,"height":1080.0},"relativeTransform":[[1.0,0.0,64.0],[0.0,1.0,100.0]],"size":{"x":1280.0,"y":1080.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"clipsContent":true,"overflowDirection":"VERTICAL_SCROLLING","isBreakpointFrame":true,"children":["3778:56174"]},"2482:2702":{"type":"TEXT","id":"2482:2702","name":"Rich text/Body","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":16.0,"height":16.0},"isolatedAbsoluteRenderBounds":{"x":0.584000051021576,"y":5.35199975967407,"width":14.5010013580322,"height":5.72800016403198},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":16.0,"y":16.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":8.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.8,"letterSpacingValue":10.0,"letterSpacingUnit":"PERCENT","lineHeightPx":16.0,"lineHeightPercent":160.0,"lineHeightPercentFontSize":200.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3009:875":{"type":"TEXT","id":"3009:875","name":"Rich text/Header 3","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":57.0,"height":42.0},"isolatedAbsoluteRenderBounds":{"x":2.3360002040863,"y":10.5999984741211,"width":49.1325035095215,"height":29.7600021362305},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":57.0,"y":42.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":32.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":-0.96,"letterSpacingValue":-3.0,"letterSpacingUnit":"PERCENT","lineHeightPx":41.5999984741211,"lineHeightPercent":104.0,"lineHeightPercentFontSize":130.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"2940:2583":{"type":"TEXT","id":"2940:2583","name":"Rich text/Project List","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":16.0,"height":17.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":4.96000003814697,"width":15.7127819061279,"height":10.1400003433228},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":16.0,"y":17.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Work Sans","fontPostScriptName":"WorkSans-Light","fontStyle":"Light","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","textDecoration":"UNDERLINE","textDecorationSkipInk":true,"fontSize":12.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":16.7999992370605,"lineHeightPercent":119.352088928223,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"2482:2704":{"type":"TEXT","id":"2482:2704","name":"Rich text/Menu","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":19.0,"height":14.0},"isolatedAbsoluteRenderBounds":{"x":0.730000078678131,"y":3.93999981880188,"width":17.1262512207031,"height":7.16000080108643},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":19.0,"y":14.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":10.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":14.0,"lineHeightPercent":112.0,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3009:874":{"type":"TEXT","id":"3009:874","name":"Rich text/Header 2","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":86.0,"height":53.0},"isolatedAbsoluteRenderBounds":{"x":3.50400018692017,"y":11.3999977111816,"width":73.6987533569336,"height":44.6400032043457},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":86.0,"y":53.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":48.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":-1.44,"letterSpacingValue":-3.0,"letterSpacingUnit":"PERCENT","lineHeightPx":52.8000030517578,"lineHeightPercent":88.0,"lineHeightPercentFontSize":110.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3125:1632":{"type":"TEXT","id":"3125:1632","name":"Rich text/Body","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":18.0,"height":24.0},"isolatedAbsoluteRenderBounds":{"x":0.1640625,"y":6.484375,"width":16.515625,"height":14.921875},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":18.0,"y":24.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Reddit Mono","fontPostScriptName":"RedditMono-Light","fontStyle":"Light","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":16.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":24.0,"lineHeightPercent":115.488723754883,"lineHeightPercentFontSize":150.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3009:873":{"type":"TEXT","id":"3009:873","name":"Rich text/Header 1","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":114.0,"height":70.0},"isolatedAbsoluteRenderBounds":{"x":4.67200040817261,"y":14.1999969482422,"width":98.5850067138672,"height":59.5200042724609},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":114.0,"y":70.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":64.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":-1.6,"letterSpacingValue":-2.5,"letterSpacingUnit":"PERCENT","lineHeightPx":70.4000015258789,"lineHeightPercent":88.0,"lineHeightPercentFontSize":110.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"2940:2581":{"type":"TEXT","id":"2940:2581","name":"Rich text/Qoute","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":48.0,"height":48.0},"isolatedAbsoluteRenderBounds":{"x":1.75200009346008,"y":16.0559997558594,"width":43.503002166748,"height":17.1840019226074},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":48.0,"y":48.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":24.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":2.4,"letterSpacingValue":10.0,"letterSpacingUnit":"PERCENT","lineHeightPx":48.0,"lineHeightPercent":160.0,"lineHeightPercentFontSize":200.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"2482:2703":{"type":"TEXT","id":"2482:2703","name":"Rich text/h1","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":68.0,"height":26.0},"isolatedAbsoluteRenderBounds":{"x":2.62800025939941,"y":1.58399927616119,"width":61.6545028686523,"height":25.7760009765625},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":68.0,"y":26.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":36.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":25.9200019836426,"lineHeightPercent":57.5999984741211,"lineHeightPercentFontSize":72.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"2482:2708":{"type":"TEXT","id":"2482:2708","name":"Rich text/Big Body","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":24.0,"height":30.0},"isolatedAbsoluteRenderBounds":{"x":0.519999980926514,"y":8.79999923706055,"width":23.3231239318848,"height":17.5},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":24.0,"y":30.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Work Sans","fontPostScriptName":"WorkSans-Regular","fontStyle":"Regular","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":20.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":30.0,"lineHeightPercent":127.877243041992,"lineHeightPercentFontSize":150.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3448:1891":{"type":"TEXT","id":"3448:1891","name":"Desktop/HHG - Component H2","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":18.0,"height":13.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":18.0,"height":13.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":18.0,"y":13.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":9.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.45,"letterSpacingValue":5.0,"letterSpacingUnit":"PERCENT","lineHeightPx":12.5999994277954,"lineHeightPercent":112.0,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3118:907":{"type":"TEXT","id":"3118:907","name":"Desktop/HH - Body 1","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":18.0,"height":28.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":18.0,"height":28.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":18.0,"y":28.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Reddit Mono","fontPostScriptName":"RedditMono-Light","fontStyle":"Light","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":14.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":1.4,"letterSpacingValue":10.0,"letterSpacingUnit":"PERCENT","lineHeightPx":28.0,"lineHeightPercent":153.984954833984,"lineHeightPercentFontSize":200.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3345:1720":{"type":"TEXT","id":"3345:1720","name":"Desktop/HHG - Component H0","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":30.0,"height":21.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":30.0,"height":21.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":30.0,"y":21.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":15.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.75,"letterSpacingValue":5.0,"letterSpacingUnit":"PERCENT","lineHeightPx":21.0,"lineHeightPercent":112.0,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"2960:584":{"type":"TEXT","id":"2960:584","name":"Rich text/h3","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":17.0,"height":13.0},"isolatedAbsoluteRenderBounds":{"x":0.657000064849854,"y":3.64599990844727,"width":15.4136257171631,"height":6.44400024414062},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":17.0,"y":13.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":9.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":12.5999994277954,"lineHeightPercent":112.0,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3118:906":{"type":"TEXT","id":"3118:906","name":"Desktop/MENU","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":18.0,"height":13.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":18.0,"height":13.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":18.0,"y":13.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":9.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.45,"letterSpacingValue":5.0,"letterSpacingUnit":"PERCENT","lineHeightPx":12.5999994277954,"lineHeightPercent":112.0,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"4084:15495":{"type":"TEXT","id":"4084:15495","name":"Desktop/HHG - Quote","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":65.0,"height":90.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":65.0,"height":90.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":65.0,"y":90.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Scheherazade New","fontPostScriptName":"ScheherazadeNew-Regular","fontStyle":"Regular","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":60.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":-1.8,"letterSpacingValue":-3.0,"letterSpacingUnit":"PERCENT","lineHeightPx":90.0,"lineHeightPercent":73.5456085205078,"lineHeightPercentFontSize":150.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"2940:2584":{"type":"TEXT","id":"2940:2584","name":"Rich text/Welcome Article-Body","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":19.0,"height":21.0},"isolatedAbsoluteRenderBounds":{"x":0.266000032424927,"y":5.61999988555908,"width":17.0575771331787,"height":9.52000045776367},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":19.0,"y":21.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Work Sans","fontPostScriptName":"WorkSans-Light","fontStyle":"Light","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":14.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":21.0,"lineHeightPercent":127.877243041992,"lineHeightPercentFontSize":150.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3123:386":{"type":"TEXT","id":"3123:386","name":"Rich text/Menu Bold","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":19.0,"height":140.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":19.0,"height":140.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":19.0,"y":140.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"ElroNet Monospace","fontPostScriptName":"ElroNet-Monospace","fontStyle":"Normal","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":14.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":140.0,"lineHeightPercent":906.618286132812,"lineHeightPercentFontSize":1000.0,"lineHeightUnit":"PIXELS","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3125:1633":{"type":"TEXT","id":"3125:1633","name":"Rich text/Header 1","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":71.0,"height":70.0},"isolatedAbsoluteRenderBounds":{"x":0.65625,"y":11.9375,"width":64.4625015258789,"height":59.6875},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":71.0,"y":70.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Reddit Mono","fontPostScriptName":"RedditMono-Light","fontStyle":"Light","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":64.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":-1.6,"letterSpacingValue":-2.5,"letterSpacingUnit":"PERCENT","lineHeightPx":70.4000015258789,"lineHeightPercent":84.6917266845703,"lineHeightPercentFontSize":110.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"2482:2706":{"type":"TEXT","id":"2482:2706","name":"Rich text/Image Description","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":15.0,"height":10.0},"isolatedAbsoluteRenderBounds":{"x":0.259999990463257,"y":1.29999995231628,"width":13.5669527053833,"height":6.80000019073486},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":15.0,"y":10.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Work Sans","fontPostScriptName":"WorkSans-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":10.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":1.0,"letterSpacingValue":10.0,"letterSpacingUnit":"PERCENT","lineHeightPx":10.0,"lineHeightPercent":85.2514953613281,"lineHeightPercentFontSize":100.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3009:877":{"type":"TEXT","id":"3009:877","name":"Rich text/Header 5","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":36.0,"height":28.0},"isolatedAbsoluteRenderBounds":{"x":1.46000015735626,"y":7.99999904632568,"width":30.7078113555908,"height":18.6000022888184},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":36.0,"y":28.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":20.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":-0.6,"letterSpacingValue":-3.0,"letterSpacingUnit":"PERCENT","lineHeightPx":28.0,"lineHeightPercent":112.0,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3125:1636":{"type":"TEXT","id":"3125:1636","name":"Rich text/Header 4","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":27.0,"height":34.0},"isolatedAbsoluteRenderBounds":{"x":0.24609375,"y":8.7265625,"width":24.0534362792969,"height":22.3828125},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":27.0,"y":34.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Reddit Mono","fontPostScriptName":"RedditMono-Light","fontStyle":"Light","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":24.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":-0.72,"letterSpacingValue":-3.0,"letterSpacingUnit":"PERCENT","lineHeightPx":33.5999984741211,"lineHeightPercent":107.789474487305,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3004:487":{"type":"TEXT","id":"3004:487","name":"Rich text/Big body","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":32.0,"height":22.0},"isolatedAbsoluteRenderBounds":{"x":1.16800010204315,"y":5.70399951934814,"width":28.2020015716553,"height":11.456000328064},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":32.0,"y":22.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":16.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":1.6,"letterSpacingValue":10.0,"letterSpacingUnit":"PERCENT","lineHeightPx":22.3999996185303,"lineHeightPercent":112.0,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"4078:8056":{"type":"TEXT","id":"4078:8056","name":"Mobile/HHG - H0","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":20.0,"height":20.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":20.0,"height":20.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":20.0,"y":20.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":10.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":1.0,"letterSpacingValue":10.0,"letterSpacingUnit":"PERCENT","lineHeightPx":20.0,"lineHeightPercent":160.0,"lineHeightPercentFontSize":200.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3859:27441":{"type":"TEXT","id":"3859:27441","name":"Desktop/HHG - Button","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":13.0,"height":8.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":13.0,"height":8.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":13.0,"y":8.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Scheherazade New","fontPostScriptName":"ScheherazadeNew-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":8.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":1.6,"letterSpacingValue":20.0,"letterSpacingUnit":"PERCENT","lineHeightPx":8.0,"lineHeightPercent":49.030403137207,"lineHeightPercentFontSize":100.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3125:1638":{"type":"TEXT","id":"3125:1638","name":"Rich text/Header 6","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":18.0,"height":22.0},"isolatedAbsoluteRenderBounds":{"x":0.1640625,"y":5.484375,"width":16.0356254577637,"height":14.921875},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":18.0,"y":22.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Reddit Mono","fontPostScriptName":"RedditMono-Light","fontStyle":"Light","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":16.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":-0.48,"letterSpacingValue":-3.0,"letterSpacingUnit":"PERCENT","lineHeightPx":22.3999996185303,"lineHeightPercent":107.789474487305,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"4083:3956":{"type":"TEXT","id":"4083:3956","name":"Desktop/HHG - Component Body 1","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":17.0,"height":27.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":17.0,"height":27.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":17.0,"y":27.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Scheherazade New","fontPostScriptName":"ScheherazadeNew-Regular","fontStyle":"Regular","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":15.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":27.0,"lineHeightPercent":88.2547302246094,"lineHeightPercentFontSize":180.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3118:908":{"type":"TEXT","id":"3118:908","name":"Desktop/HHG H2","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":28.0,"height":14.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":28.0,"height":14.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":28.0,"y":14.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":14.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.7,"letterSpacingValue":5.0,"letterSpacingUnit":"PERCENT","lineHeightPx":14.0,"lineHeightPercent":80.0,"lineHeightPercentFontSize":100.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3434:1508":{"type":"TEXT","id":"3434:1508","name":"Mobile/HHG - H1","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":22.0,"height":11.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":22.0,"height":11.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":22.0,"y":11.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":11.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.55,"letterSpacingValue":5.0,"letterSpacingUnit":"PERCENT","lineHeightPx":11.0,"lineHeightPercent":80.0,"lineHeightPercentFontSize":100.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3006:769":{"type":"TEXT","id":"3006:769","name":"Rich text/h0","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":76.0,"height":28.0},"isolatedAbsoluteRenderBounds":{"x":2.92000031471252,"y":0.759999215602875,"width":68.5050048828125,"height":28.6400012969971},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":76.0,"y":28.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","fontVariations":{"Weight":400.0},"textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":40.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":28.0,"lineHeightPercent":56.0,"lineHeightPercentFontSize":70.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"2925:2842":{"type":"TEXT","id":"2925:2842","name":"Rich text/Article Title","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":24.0,"height":23.0},"isolatedAbsoluteRenderBounds":{"x":0.519999980926514,"y":4.79999923706055,"width":23.3231239318848,"height":17.5},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":24.0,"y":23.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Abhaya Libre","fontPostScriptName":"AbhayaLibre-Regular","fontStyle":"Regular","textCase":"TITLE","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":20.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":23.4375,"lineHeightPercent":100.0,"lineHeightUnit":"INTRINSIC_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED","lineHeightPercentFontSize":100},"styleOverrideTable":{}},"4120:6814":{"type":"TEXT","id":"4120:6814","name":"Mobile/HHG - Body 1","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":10.0,"height":14.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":10.0,"height":14.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":10.0,"y":14.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Scheherazade New","fontPostScriptName":"ScheherazadeNew-Regular","fontStyle":"Regular","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":8.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.8,"letterSpacingValue":10.0,"letterSpacingUnit":"PERCENT","lineHeightPx":14.3999996185303,"lineHeightPercent":88.2547302246094,"lineHeightPercentFontSize":180.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"2482:2705":{"type":"TEXT","id":"2482:2705","name":"Rich text/h2","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":25.0,"height":18.0},"isolatedAbsoluteRenderBounds":{"x":0.949000060558319,"y":4.82199954986572,"width":22.2641258239746,"height":9.3080005645752},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":25.0,"y":18.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":13.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":18.1999988555908,"lineHeightPercent":112.0,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"2933:1412":{"type":"TEXT","id":"2933:1412","name":"Rich text/Menu Bold","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":19.0,"height":140.0},"isolatedAbsoluteRenderBounds":{"x":0.952000021934509,"y":64.2639999389648,"width":16.5202198028564,"height":8.98799896240234},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":19.0,"y":140.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"ElroNet Monospace","fontPostScriptName":"ElroNet-Monospace","fontStyle":"Normal","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":14.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":140.0,"lineHeightPercent":906.618286132812,"lineHeightPercentFontSize":1000.0,"lineHeightUnit":"PIXELS","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3279:2135":{"type":"TEXT","id":"3279:2135","name":"Desktop/HH - Tagline 1","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":22.0,"height":20.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":22.0,"height":20.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":22.0,"y":20.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Zetta","fontPostScriptName":"LexendZetta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":10.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.5,"letterSpacingValue":5.0,"letterSpacingUnit":"PERCENT","lineHeightPx":20.0,"lineHeightPercent":160.0,"lineHeightPercentFontSize":200.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3125:1634":{"type":"TEXT","id":"3125:1634","name":"Rich text/Header 2","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":53.0,"height":53.0},"isolatedAbsoluteRenderBounds":{"x":0.4921875,"y":9.453125,"width":48.1068725585938,"height":44.765625},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":53.0,"y":53.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Reddit Mono","fontPostScriptName":"RedditMono-Light","fontStyle":"Light","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":48.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":-1.44,"letterSpacingValue":-3.0,"letterSpacingUnit":"PERCENT","lineHeightPx":52.8000030517578,"lineHeightPercent":84.6917266845703,"lineHeightPercentFontSize":110.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3344:1432":{"type":"TEXT","id":"3344:1432","name":"Desktop/HHG - Component Body 3","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":13.0,"height":8.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":13.0,"height":8.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":13.0,"y":8.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Scheherazade New","fontPostScriptName":"ScheherazadeNew-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":8.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":1.6,"letterSpacingValue":20.0,"letterSpacingUnit":"PERCENT","lineHeightPx":8.0,"lineHeightPercent":49.030403137207,"lineHeightPercentFontSize":100.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3009:876":{"type":"TEXT","id":"3009:876","name":"Rich text/Header 4","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":43.0,"height":34.0},"isolatedAbsoluteRenderBounds":{"x":1.75200009346008,"y":9.19999885559082,"width":36.8493766784668,"height":22.3200016021729},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":43.0,"y":34.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":24.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":-0.72,"letterSpacingValue":-3.0,"letterSpacingUnit":"PERCENT","lineHeightPx":33.5999984741211,"lineHeightPercent":112.0,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3437:2182":{"type":"TEXT","id":"3437:2182","name":"Mobile/HHG - Header + Footer","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":12.0,"height":8.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":12.0,"height":8.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":12.0,"y":8.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":6.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.3,"letterSpacingValue":5.0,"letterSpacingUnit":"PERCENT","lineHeightPx":8.39999961853027,"lineHeightPercent":112.0,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3123:388":{"type":"TEXT","id":"3123:388","name":"Rich text/Menu","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":19.0,"height":14.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":19.0,"height":14.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":19.0,"y":14.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":10.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":14.0,"lineHeightPercent":112.0,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3536:5081":{"type":"TEXT","id":"3536:5081","name":"Mobile/HHG - Quote","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":22.0,"height":36.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":22.0,"height":36.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":22.0,"y":36.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Scheherazade New","fontPostScriptName":"ScheherazadeNew-Regular","fontStyle":"Regular","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":20.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":-0.6,"letterSpacingValue":-3.0,"letterSpacingUnit":"PERCENT","lineHeightPx":36.0,"lineHeightPercent":88.2547302246094,"lineHeightPercentFontSize":180.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"2940:2582":{"type":"TEXT","id":"2940:2582","name":"Rich text/Footer Logo","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":511.0,"height":336.0},"isolatedAbsoluteRenderBounds":{"x":0.480000019073486,"y":77.7999954223633,"width":505.456878662109,"height":193.200012207031},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":511.0,"y":336.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Climate Crisis","fontPostScriptName":"ClimateCrisis-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":240.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":336.0,"lineHeightPercent":105.263153076172,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"4082:4215":{"type":"TEXT","id":"4082:4215","name":"Mobile/HHG - Body 2","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":14.0,"height":22.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":14.0,"height":22.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":14.0,"y":22.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Scheherazade New","fontPostScriptName":"ScheherazadeNew-Regular","fontStyle":"Regular","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":12.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.6,"letterSpacingValue":5.0,"letterSpacingUnit":"PERCENT","lineHeightPx":21.5999984741211,"lineHeightPercent":88.2547302246094,"lineHeightPercentFontSize":180.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"4084:11643":{"type":"TEXT","id":"4084:11643","name":"Desktop/HHG - Header + Footer","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":16.0,"height":12.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":16.0,"height":12.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":16.0,"y":12.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Scheherazade New","fontPostScriptName":"ScheherazadeNew-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":12.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":12.0,"lineHeightPercent":49.030403137207,"lineHeightPercentFontSize":100.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"2482:2707":{"type":"TEXT","id":"2482:2707","name":"Rich text/Button","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":20.0,"height":14.0},"isolatedAbsoluteRenderBounds":{"x":0.730000078678131,"y":3.93999981880188,"width":17.6262512207031,"height":7.16000080108643},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":20.0,"y":14.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":10.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.5,"letterSpacingValue":5.0,"letterSpacingUnit":"PERCENT","lineHeightPx":14.0,"lineHeightPercent":112.0,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"4084:4708":{"type":"TEXT","id":"4084:4708","name":"Desktop/HHG - H2","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":25.0,"height":12.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":25.0,"height":12.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":25.0,"y":12.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Zetta","fontPostScriptName":"LexendZetta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":12.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":12.0,"lineHeightPercent":80.0,"lineHeightPercentFontSize":100.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"4084:4052":{"type":"TEXT","id":"4084:4052","name":"Desktop/HHG - List Header","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":27.0,"height":21.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":27.0,"height":21.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":27.0,"y":21.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":14.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":21.0,"lineHeightPercent":120.0,"lineHeightPercentFontSize":150.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3778:56174":{"type":"WIDGET","id":"3778:56174","name":"Embed 2","absoluteBoundingBox":{"x":21219.0,"y":-33783.0,"width":1280.0,"height":900.0},"isolatedAbsoluteRenderBounds":{"x":21219.0,"y":-33783.0,"width":1280.0,"height":900.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":1280.0,"y":900.0},"constraints":{"vertical":"TOP_BOTTOM","horizontal":"LEFT_RIGHT"},"constraintValues":{"left":{"pixelOffset":0.0,"sizeFraction":0.0},"right":{"pixelOffset":0.0,"sizeFraction":1.0},"top":{"pixelOffset":0.0,"sizeFraction":0.0},"bottom":{"pixelOffset":-180.0,"sizeFraction":1.0}},"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"widgetType":"GENERIC","syncedState":{"embedAllowFullscreen":"false","embedCodeType":"html","embedIframeHtml":"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>PEAK TECH</title>\n<style>\n  :root {\n    --bg: #080808;\n    --bg-soft: #111111;\n    --panel: rgba(18, 18, 18, 0.94);\n    --panel-strong: rgba(10, 10, 10, 0.98);\n    --line: rgba(255, 255, 255, 0.16);\n    --line-strong: rgba(255, 255, 255, 0.34);\n    --text: #b8b8b8;\n    --text-strong: #f2f2f2;\n    --muted: #747474;\n    --accent: #ffffff;\n    --accent-2: #d7d7d7;\n    --warn: #cccccc;\n    --danger: #8d8d8d;\n    --shadow: rgba(0, 0, 0, 0.58);\n    --canvas-grid: rgba(255, 255, 255, 0.06);\n  }\n\n  * {\n    margin: 0;\n    padding: 0;\n    box-sizing: border-box;\n  }\n\n  html,\n  body {\n    min-height: 100%;\n  }\n\n  html {\n    height: 100%;\n  }\n\n  body {\n    min-height: 100dvh;\n    background: linear-gradient(180deg, #050505 0%, #0f0f0f 46%, #080808 100%);\n    color: var(--text);\n    font-family: \"Courier New\", Courier, monospace;\n    font-size: 9px;\n    letter-spacing: 0.12em;\n    overflow: hidden;\n    overflow-x: hidden;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  body::before {\n    content: \"\";\n    position: fixed;\n    inset: 0;\n    pointer-events: none;\n    background:\n      repeating-linear-gradient(\n        180deg,\n        rgba(255, 255, 255, 0.02) 0,\n        rgba(255, 255, 255, 0.02) 1px,\n        transparent 1px,\n        transparent 3px\n      );\n    mix-blend-mode: screen;\n    opacity: 0.32;\n    z-index: 30;\n  }\n\n  body::after {\n    content: \"\";\n    position: fixed;\n    inset: 0;\n    pointer-events: none;\n    background:\n      radial-gradient(circle at center, transparent 55%, rgba(0, 0, 0, 0.34) 100%),\n      linear-gradient(90deg, rgba(0, 0, 0, 0.10), transparent 10%, transparent 90%, rgba(0, 0, 0, 0.10));\n    opacity: 0.85;\n    z-index: 31;\n  }\n\n  button,\n  input {\n    font: inherit;\n    letter-spacing: inherit;\n  }\n\n  button {\n    background: none;\n    border: 1px solid var(--line);\n    color: var(--text);\n    cursor: pointer;\n    text-transform: uppercase;\n  }\n\n  button:hover,\n  button:focus-visible {\n    border-color: var(--line-strong);\n    color: var(--text-strong);\n    outline: none;\n    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);\n  }\n\n  #machine {\n    position: relative;\n    width: min(1320px, calc(100vw - 32px));\n    height: min(920px, calc(100dvh - 32px));\n    margin: 16px auto;\n    border: 1px solid var(--line-strong);\n    background: linear-gradient(180deg, rgba(17, 17, 17, 0.98), rgba(9, 9, 9, 0.99));\n    box-shadow:\n      0 30px 80px var(--shadow),\n      inset 0 0 0 1px rgba(255, 255, 255, 0.02),\n      inset 0 0 56px rgba(255, 255, 255, 0.03);\n    overflow: hidden;\n  }\n\n  #machine::before {\n    content: \"\";\n    position: absolute;\n    inset: 0;\n    pointer-events: none;\n    background:\n      linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 12%, transparent 88%, rgba(255, 255, 255, 0.03)),\n      linear-gradient(90deg, rgba(255, 255, 255, 0.02), transparent 9%, transparent 91%, rgba(255, 255, 255, 0.02));\n    z-index: 1;\n  }\n\n  #status-bar {\n    position: relative;\n    z-index: 5;\n    display: grid;\n    grid-template-columns: 1fr auto auto;\n    gap: 14px;\n    align-items: center;\n    height: 32px;\n    padding: 0 18px;\n    border-bottom: 1px solid var(--line);\n    background: rgba(14, 14, 14, 0.94);\n    text-transform: uppercase;\n  }\n\n  #brand-button {\n    justify-self: start;\n    border: none;\n    padding: 0;\n    color: var(--text-strong);\n    background: none;\n    font-weight: 700;\n    letter-spacing: 0.2em;\n  }\n\n  #brand-button:hover,\n  #brand-button:focus-visible {\n    color: var(--text-strong);\n    box-shadow: none;\n  }\n\n  .status-center {\n    justify-self: center;\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n  }\n\n  #sb-status {\n    color: var(--muted);\n  }\n\n  #sb-status.connected {\n    color: var(--text-strong);\n  }\n\n  #sb-cursor {\n    width: 7px;\n    height: 11px;\n    background: var(--text-strong);\n    opacity: 0;\n  }\n\n  #sb-cursor.active {\n    opacity: 1;\n    animation: blink 1s steps(1, end) infinite;\n  }\n\n  .status-right {\n    display: inline-flex;\n    gap: 10px;\n    justify-self: end;\n    color: var(--muted);\n  }\n\n  #sb-clock {\n    color: var(--text-strong);\n  }\n\n  #screen-stack {\n    position: relative;\n    height: calc(100% - 32px);\n    z-index: 5;\n  }\n\n  .screen {\n    position: absolute;\n    inset: 0;\n    opacity: 0;\n    pointer-events: none;\n    transition: opacity 0.3s ease;\n  }\n\n  .screen.active {\n    opacity: 1;\n    pointer-events: auto;\n  }\n\n  #dial-screen {\n    display: grid;\n    grid-template-columns: minmax(340px, 430px) 1fr;\n  }\n\n  .panel {\n    background: linear-gradient(180deg, rgba(17, 17, 17, 0.94), rgba(10, 10, 10, 0.94));\n    border: 1px solid var(--line);\n  }\n\n  #left-panel,\n  #right-panel,\n  #launcher-col,\n  #workspace {\n    padding: 24px;\n  }\n\n  #left-panel {\n    border-right: 1px solid var(--line);\n    display: flex;\n    flex-direction: column;\n    gap: 14px;\n  }\n\n  .section-title {\n    color: var(--text-strong);\n    text-transform: uppercase;\n    font-weight: 700;\n    letter-spacing: 0.18em;\n  }\n\n  .section-sub {\n    color: var(--muted);\n    text-transform: uppercase;\n  }\n\n  #modem-wrap {\n    flex: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 200px;\n  }\n\n  #modem-svg {\n    width: min(100%, 390px);\n    filter: drop-shadow(0 0 18px rgba(255, 255, 255, 0.05));\n  }\n\n  #conn-list {\n    margin-top: auto;\n  }\n\n  .cl-header,\n  .conn-row {\n    display: grid;\n    grid-template-columns: 1fr auto auto;\n    gap: 12px;\n    align-items: center;\n    padding: 8px 0;\n    text-transform: uppercase;\n  }\n\n  .cl-header {\n    color: var(--muted);\n    border-top: 1px solid var(--line-strong);\n  }\n\n  .conn-row {\n    border-top: 1px solid var(--line);\n    color: var(--muted);\n    cursor: pointer;\n    transition: color 0.15s ease, background 0.15s ease;\n  }\n\n  .conn-row:hover,\n  .conn-row.selected {\n    color: var(--text-strong);\n    background: rgba(255, 255, 255, 0.03);\n  }\n\n  .connect-btn,\n  .proceed-btn,\n  .action-btn,\n  .sketch-btn,\n  .palette-btn,\n  .tool-btn {\n    min-height: 32px;\n    padding: 0 12px;\n    touch-action: manipulation;\n  }\n\n  .connect-btn,\n  .proceed-btn {\n    width: 100%;\n    margin-top: 14px;\n    opacity: 0;\n    pointer-events: none;\n    transition: opacity 0.2s ease, transform 0.2s ease;\n  }\n\n  .connect-btn.visible {\n    opacity: 1;\n    pointer-events: auto;\n  }\n\n  .proceed-btn {\n    opacity: 1;\n    pointer-events: auto;\n  }\n\n  .connect-btn:disabled {\n    opacity: 0.6;\n    cursor: default;\n  }\n\n  #right-panel {\n    display: flex;\n    flex-direction: column;\n    gap: 18px;\n  }\n\n  #log-panel {\n    flex: 1;\n    display: flex;\n    align-items: flex-end;\n    min-height: 0;\n    overflow: auto;\n  }\n\n  #log-lines {\n    width: 100%;\n  }\n\n  .log-line {\n    padding: 4px 0;\n    color: rgba(255, 255, 255, 0.22);\n    opacity: 0;\n    transition: opacity 0.12s ease, color 0.2s ease;\n  }\n\n  .log-line.vis {\n    opacity: 1;\n    color: var(--muted);\n  }\n\n  .log-line.cur {\n    color: var(--text-strong);\n  }\n\n  #progress-block {\n    display: flex;\n    flex-direction: column;\n    gap: 10px;\n    padding-top: 10px;\n    border-top: 1px solid var(--line-strong);\n  }\n\n  .pb-row {\n    display: flex;\n    justify-content: space-between;\n    color: var(--muted);\n    text-transform: uppercase;\n  }\n\n  #pb-label {\n    color: var(--text-strong);\n  }\n\n  .pb-track {\n    height: 2px;\n    background: rgba(255, 255, 255, 0.12);\n    position: relative;\n  }\n\n  .pb-fill {\n    position: absolute;\n    inset: 0 auto 0 0;\n    width: 0;\n    background: var(--accent);\n    transition: width 0.28s linear;\n  }\n\n  #post-connect {\n    display: none;\n    flex-direction: column;\n    gap: 0;\n  }\n\n  #post-connect.show {\n    display: flex;\n  }\n\n  .pc-row {\n    display: grid;\n    grid-template-columns: 180px 1fr;\n    gap: 12px;\n    padding: 8px 0;\n    border-top: 1px solid var(--line);\n    text-transform: uppercase;\n  }\n\n  .pc-row:first-child {\n    border-top: 1px solid var(--line-strong);\n  }\n\n  .pc-label {\n    color: var(--muted);\n  }\n\n  .pc-value {\n    color: var(--text-strong);\n  }\n\n  #desktop-screen {\n    display: grid;\n    grid-template-columns: minmax(280px, 330px) 1fr;\n  }\n\n  #launcher-col {\n    border-right: 1px solid var(--line);\n    display: flex;\n    flex-direction: column;\n    gap: 14px;\n  }\n\n  .terminal-card,\n  .side-card {\n    border: 1px solid var(--line);\n    background: rgba(255, 255, 255, 0.02);\n    padding: 12px;\n  }\n\n  #program-list {\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n  }\n\n  .program-row {\n    width: 100%;\n    display: grid;\n    grid-template-columns: auto minmax(0, 1fr) auto;\n    gap: 10px;\n    align-items: center;\n    padding: 10px 12px;\n    text-align: left;\n    color: var(--muted);\n    background: rgba(255, 255, 255, 0.015);\n    min-height: 40px;\n  }\n\n  .program-row.selected,\n  .program-row:hover {\n    color: var(--text-strong);\n    border-color: var(--line-strong);\n    background: rgba(255, 255, 255, 0.04);\n  }\n\n  .program-row.locked {\n    display: none;\n  }\n\n  .program-row .program-index {\n    color: var(--accent-2);\n  }\n\n  .program-tag {\n    color: var(--accent);\n  }\n\n  .card-title {\n    margin-bottom: 12px;\n    color: var(--text-strong);\n  }\n\n  .card-copy,\n  .card-copy div {\n    color: var(--muted);\n    line-height: 1.8;\n  }\n\n  .card-copy strong {\n    color: var(--text-strong);\n  }\n\n  .accent {\n    color: var(--accent-2);\n  }\n\n  #desktop-log {\n    min-height: 140px;\n    max-height: 180px;\n    overflow: auto;\n    line-height: 1.8;\n  }\n\n  .desktop-log-line {\n    color: var(--muted);\n  }\n\n  .desktop-log-line.live {\n    color: var(--text-strong);\n  }\n\n  #workspace {\n    display: flex;\n    flex-direction: column;\n    gap: 14px;\n    min-width: 0;\n  }\n\n  #workspace-header {\n    display: flex;\n    justify-content: space-between;\n    gap: 16px;\n    align-items: center;\n    padding-bottom: 16px;\n    border-bottom: 1px solid var(--line);\n  }\n\n  #workspace-title {\n    color: var(--text-strong);\n    font-size: 11px;\n    font-weight: 700;\n  }\n\n  #workspace-subtitle {\n    margin-top: 6px;\n    color: var(--muted);\n  }\n\n  .workspace-actions {\n    display: inline-flex;\n    gap: 10px;\n    flex-wrap: wrap;\n  }\n\n  #workspace-body {\n    position: relative;\n    flex: 1;\n    min-height: 0;\n    border: 1px solid var(--line);\n    background: linear-gradient(180deg, rgba(15, 15, 15, 0.97), rgba(8, 8, 8, 0.99));\n    overflow: hidden;\n    isolation: isolate;\n  }\n\n  .app-pane {\n    position: absolute;\n    inset: 0;\n    height: 100%;\n    overflow: auto;\n  }\n\n  .app-pane[hidden] {\n    display: none !important;\n  }\n\n  .app-pane:not([hidden])[data-layout=\"flex\"] {\n    display: flex;\n    flex-direction: column;\n  }\n\n  .app-pane:not([hidden])[data-layout=\"grid\"] {\n    display: grid;\n  }\n\n  .app-pane:not([hidden])[data-layout=\"block\"] {\n    display: block;\n  }\n\n  #terminal-pane {\n    padding: 16px;\n    overflow: hidden;\n  }\n\n  #terminal-window {\n    flex: 1;\n    display: flex;\n    flex-direction: column;\n    gap: 10px;\n    min-height: 0;\n  }\n\n  #terminal-output {\n    flex: 1;\n    overflow: auto;\n    padding-right: 8px;\n    white-space: pre-wrap;\n    word-break: break-word;\n    line-height: 1.65;\n  }\n\n  .term-line {\n    color: var(--text);\n    margin-bottom: 6px;\n  }\n\n  .term-line.muted {\n    color: var(--muted);\n  }\n\n  .term-line.warn {\n    color: var(--warn);\n  }\n\n  .term-line.danger {\n    color: var(--danger);\n  }\n\n  .term-line.accent {\n    color: var(--accent-2);\n  }\n\n  #terminal-form {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    border-top: 1px solid var(--line);\n    padding-top: 14px;\n  }\n\n  .term-prompt {\n    color: var(--text-strong);\n    white-space: nowrap;\n  }\n\n  #terminal-input {\n    flex: 1;\n    min-width: 0;\n    background: transparent;\n    border: none;\n    color: var(--text-strong);\n    outline: none;\n    line-height: 1.4;\n  }\n\n  #weather-pane {\n    grid-template-columns: minmax(280px, 360px) 1fr;\n    height: 100%;\n    overflow: hidden;\n  }\n\n  #monitor-pane {\n    padding: 14px;\n    gap: 10px;\n    overflow: hidden;\n  }\n\n  #monitor-grid {\n    display: grid;\n    grid-template-columns: minmax(220px, 280px) 1fr;\n    gap: 10px;\n    min-height: 0;\n    flex: 1;\n  }\n\n  #monitor-sidebar,\n  #monitor-main {\n    display: flex;\n    flex-direction: column;\n    gap: 10px;\n    min-height: 0;\n  }\n\n  .monitor-card {\n    border: 1px solid var(--line);\n    background: rgba(255, 255, 255, 0.02);\n    padding: 12px;\n    min-width: 0;\n  }\n\n  #monitor-vitals {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 8px;\n  }\n\n  .monitor-metric {\n    border: 1px solid var(--line);\n    padding: 10px;\n    min-height: 72px;\n  }\n\n  .monitor-label {\n    color: var(--muted);\n    margin-bottom: 8px;\n  }\n\n  .monitor-value {\n    color: var(--text-strong);\n    font-size: 11px;\n    margin-bottom: 6px;\n  }\n\n  .monitor-bar {\n    height: 4px;\n    background: rgba(255, 255, 255, 0.1);\n    position: relative;\n    overflow: hidden;\n  }\n\n  .monitor-bar-fill {\n    position: absolute;\n    inset: 0 auto 0 0;\n    background: var(--text-strong);\n    width: 0;\n  }\n\n  .monitor-copy {\n    color: var(--muted);\n    line-height: 1.7;\n  }\n\n  #monitor-graph,\n  #monitor-processes {\n    min-height: 0;\n    overflow: auto;\n  }\n\n  #monitor-graph-pre,\n  #monitor-processes-pre {\n    white-space: pre;\n    color: var(--text-strong);\n    line-height: 1.55;\n    overflow-x: auto;\n  }\n\n  #monitor-footer {\n    display: flex;\n    justify-content: space-between;\n    gap: 12px;\n    align-items: center;\n    border-top: 1px solid var(--line);\n    padding-top: 10px;\n    color: var(--muted);\n  }\n\n  #portrait-col {\n    border-right: 1px solid var(--line);\n    display: flex;\n    flex-direction: column;\n    min-height: 0;\n  }\n\n  #speech-bubble {\n    min-height: 54px;\n    padding: 12px 14px;\n    border-bottom: 1px solid var(--line);\n    display: flex;\n    align-items: center;\n  }\n\n  #speech-text {\n    line-height: 1.8;\n    color: var(--text-strong);\n  }\n\n  #speech-text::after {\n    content: \"_\";\n    opacity: 0;\n    animation: blink 0.8s steps(1, end) infinite;\n  }\n\n  #speech-text.typing::after {\n    opacity: 1;\n  }\n\n  #ascii-portrait {\n    flex: 1;\n    min-height: 0;\n    overflow: hidden;\n    padding: 14px 10px 8px;\n    white-space: pre;\n    font-size: clamp(3.7px, 0.45vw, 5px);\n    line-height: 1.05;\n    letter-spacing: 0.03em;\n    color: var(--text-strong);\n  }\n\n  #portrait-meta {\n    border-top: 1px solid var(--line);\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    padding: 0 14px 10px;\n    gap: 0 10px;\n  }\n\n  .pm-row {\n    display: flex;\n    flex-direction: column;\n    gap: 4px;\n    padding-top: 12px;\n    border-top: 1px solid var(--line);\n  }\n\n  .pm-row:nth-child(1),\n  .pm-row:nth-child(2) {\n    border-top: none;\n  }\n\n  .pm-label {\n    color: var(--muted);\n  }\n\n  .pm-value {\n    color: var(--text-strong);\n  }\n\n  #right-col-w {\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    min-height: 0;\n  }\n\n  #chart-section {\n    padding: 16px 18px;\n    border-bottom: 1px solid var(--line);\n  }\n\n  .subhead {\n    margin-bottom: 16px;\n    color: var(--muted);\n  }\n\n  #ascii-chart {\n    white-space: pre;\n    line-height: 1.55;\n    font-size: clamp(7px, 0.74vw, 10px);\n    overflow-x: auto;\n    color: var(--text-strong);\n  }\n\n  #forecast-section {\n    flex: 1;\n    min-height: 0;\n    padding: 16px 18px;\n    display: flex;\n    flex-direction: column;\n  }\n\n  #forecast-rows {\n    flex: 1;\n    overflow: auto;\n  }\n\n  .fc-row {\n    display: grid;\n    grid-template-columns: 70px 78px 1fr 62px 62px;\n    gap: 10px;\n    align-items: center;\n    padding: 8px 0;\n    border-top: 1px solid var(--line);\n  }\n\n  .fc-row:first-child {\n    border-top: 1px solid var(--line-strong);\n  }\n\n  .fc-icon,\n  .fc-desc,\n  .fc-lo {\n    color: var(--muted);\n    min-width: 0;\n  }\n\n  .fc-day,\n  .fc-hi {\n    color: var(--text-strong);\n  }\n\n  #w-footer {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    gap: 12px;\n    padding: 10px 18px;\n    border-top: 1px solid var(--line);\n    color: var(--muted);\n  }\n\n  #sketch-pane {\n    padding: 14px;\n    gap: 10px;\n    overflow: hidden;\n  }\n\n  #sketch-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 8px;\n    align-items: center;\n    padding-bottom: 10px;\n    border-bottom: 1px solid var(--line);\n  }\n\n  .tool-group {\n    display: inline-flex;\n    flex-wrap: wrap;\n    gap: 8px;\n    align-items: center;\n  }\n\n  .tool-label {\n    color: var(--muted);\n    margin-right: 4px;\n  }\n\n  .tool-btn.active,\n  .sketch-btn.active,\n  .palette-btn.active {\n    border-color: var(--line-strong);\n    color: var(--text-strong);\n    background: rgba(255, 255, 255, 0.08);\n  }\n\n  .palette-btn {\n    width: 32px;\n    min-width: 32px;\n    padding: 0;\n    position: relative;\n  }\n\n  .palette-btn::after {\n    content: \"\";\n    position: absolute;\n    inset: 6px;\n    background: var(--swatch);\n    border: 1px solid rgba(255, 255, 255, 0.16);\n  }\n\n  #sketch-board-wrap {\n    position: relative;\n    flex: 1;\n    min-height: 300px;\n    border: 1px solid var(--line);\n    background:\n      linear-gradient(180deg, rgba(10, 10, 10, 0.92), rgba(16, 16, 16, 0.96)),\n      repeating-linear-gradient(0deg, transparent, transparent 24px, var(--canvas-grid) 24px, var(--canvas-grid) 25px),\n      repeating-linear-gradient(90deg, transparent, transparent 24px, var(--canvas-grid) 24px, var(--canvas-grid) 25px);\n    overflow: hidden;\n  }\n\n  #sketch-canvas {\n    width: 100%;\n    height: 100%;\n    display: block;\n    image-rendering: pixelated;\n    touch-action: none;\n    cursor: crosshair;\n  }\n\n  #sketch-footer {\n    display: flex;\n    justify-content: space-between;\n    gap: 12px;\n    align-items: center;\n    border-top: 1px solid var(--line);\n    padding-top: 10px;\n    color: var(--muted);\n  }\n\n  #sketch-status,\n  #sketch-memory {\n    color: var(--muted);\n  }\n\n  #phreak-pane {\n    padding: 16px;\n    height: 100%;\n    overflow: auto;\n  }\n\n  .trace-grid {\n    display: grid;\n    grid-template-columns: minmax(240px, 320px) 1fr;\n    gap: 12px;\n  }\n\n  .trace-card {\n    border: 1px solid var(--line);\n    padding: 12px;\n    background: rgba(255, 255, 255, 0.02);\n    min-height: 180px;\n  }\n\n  .trace-card pre {\n    white-space: pre-wrap;\n    line-height: 1.6;\n    color: var(--text-strong);\n  }\n\n  .trace-list {\n    line-height: 1.9;\n    color: var(--muted);\n  }\n\n  #matrix-overlay {\n    position: fixed;\n    inset: 0;\n    display: none;\n    pointer-events: none;\n    z-index: 25;\n    padding: 20px;\n    white-space: pre;\n    color: rgba(255, 255, 255, 0.28);\n    line-height: 1.1;\n    font-size: 12px;\n    background: rgba(8, 8, 8, 0.6);\n  }\n\n  #matrix-overlay.active {\n    display: block;\n  }\n\n  .m-body,\n  .m-cable,\n  .g-circle,\n  .g-arc {\n    fill: none;\n    stroke: var(--accent);\n  }\n\n  .m-body,\n  .g-circle {\n    stroke-width: 0.8;\n  }\n\n  .m-detail,\n  .g-lat,\n  .g-lon,\n  .m-led-off {\n    fill: none;\n    stroke: rgba(255, 255, 255, 0.24);\n    stroke-width: 0.5;\n  }\n\n  .m-led-on {\n    fill: var(--text-strong);\n    stroke: none;\n  }\n\n  .m-cable {\n    stroke-width: 0.8;\n    stroke-dasharray: 120;\n    stroke-dashoffset: 120;\n  }\n\n  .g-arc {\n    stroke-width: 0.7;\n    stroke-dasharray: 8 6;\n    opacity: 0;\n  }\n\n  .hidden {\n    display: none !important;\n  }\n\n  @keyframes blink {\n    0%,\n    49% {\n      opacity: 1;\n    }\n    50%,\n    100% {\n      opacity: 0;\n    }\n  }\n\n  @media (max-width: 1180px) {\n    body {\n      overflow: auto;\n    }\n\n    #machine {\n      width: min(100%, calc(100vw - 24px));\n      height: auto;\n      min-height: calc(100dvh - 24px);\n      overflow: visible;\n    }\n\n    #screen-stack {\n      height: auto;\n      min-height: 0;\n    }\n\n    .screen {\n      position: relative;\n      inset: auto;\n      display: none;\n      opacity: 1;\n      pointer-events: none;\n      transition: none;\n    }\n\n    .screen.active {\n      display: grid;\n      pointer-events: auto;\n    }\n\n    #dial-screen,\n    #desktop-screen,\n    #monitor-grid,\n    #weather-pane,\n    .trace-grid {\n      grid-template-columns: 1fr;\n    }\n\n    #left-panel,\n    #launcher-col,\n    #portrait-col {\n      border-right: none;\n      border-bottom: 1px solid var(--line);\n    }\n\n    #workspace-body {\n      min-height: clamp(520px, 70vh, 760px);\n    }\n\n    #ascii-portrait {\n      font-size: 5px;\n    }\n  }\n\n  @media (max-width: 720px) {\n    body {\n      font-size: 10px;\n      letter-spacing: 0.1em;\n    }\n\n    #machine {\n      width: calc(100vw - 16px);\n      margin: 8px auto;\n      min-height: calc(100dvh - 16px);\n    }\n\n    #status-bar {\n      grid-template-columns: 1fr;\n      height: auto;\n      gap: 8px;\n      padding: 12px 16px;\n    }\n\n    #brand-button {\n      text-align: left;\n    }\n\n    .status-center,\n    .status-right {\n      justify-self: start;\n    }\n\n    #left-panel,\n    #right-panel,\n    #launcher-col,\n    #workspace {\n      padding: 18px;\n    }\n\n    .cl-header,\n    .conn-row {\n      gap: 8px;\n    }\n\n    .pc-row {\n      grid-template-columns: 1fr;\n      gap: 4px;\n    }\n\n    .workspace-actions {\n      width: 100%;\n    }\n\n    .workspace-actions .action-btn {\n      flex: 1 1 140px;\n      min-height: 40px;\n    }\n\n    #terminal-pane,\n    #monitor-pane,\n    #sketch-pane,\n    #phreak-pane {\n      padding: 14px;\n    }\n\n    #chart-section,\n    #forecast-section {\n      padding: 14px;\n    }\n\n    .fc-row {\n      grid-template-columns: 56px 68px 1fr 52px 52px;\n      gap: 10px;\n      font-size: 9px;\n    }\n\n    #terminal-form {\n      flex-direction: column;\n      align-items: flex-start;\n    }\n\n    .term-prompt {\n      white-space: normal;\n      word-break: break-word;\n    }\n\n    #terminal-input {\n      width: 100%;\n      font-size: 16px;\n    }\n\n    #monitor-footer,\n    #sketch-footer,\n    #w-footer,\n    #workspace-header {\n      flex-direction: column;\n      align-items: flex-start;\n    }\n\n    #monitor-vitals {\n      grid-template-columns: 1fr 1fr;\n    }\n\n    .tool-group {\n      width: 100%;\n    }\n\n    .tool-btn,\n    .sketch-btn,\n    .palette-btn,\n    .connect-btn,\n    .proceed-btn {\n      min-height: 40px;\n    }\n\n    .palette-btn {\n      width: 40px;\n      min-width: 40px;\n    }\n\n    #sketch-board-wrap {\n      min-height: 260px;\n    }\n  }\n\n  @media (max-width: 560px) {\n    #left-panel,\n    #right-panel,\n    #launcher-col,\n    #workspace {\n      padding: 14px;\n    }\n\n    .section-sub,\n    .subhead,\n    .monitor-copy,\n    .card-copy,\n    #monitor-status,\n    #monitor-updated,\n    #sketch-status,\n    #sketch-memory,\n    #w-footer {\n      line-height: 1.6;\n    }\n\n    .cl-header,\n    .conn-row {\n      grid-template-columns: minmax(0, 1fr) auto auto;\n      font-size: 8px;\n    }\n\n    .conn-row span:first-child,\n    .pc-value,\n    #workspace-subtitle,\n    #speech-text,\n    .trace-list,\n    .card-copy,\n    #monitor-link-copy,\n    #monitor-services-copy {\n      word-break: break-word;\n    }\n\n    #workspace-body {\n      min-height: 460px;\n    }\n\n    #monitor-vitals,\n    #portrait-meta {\n      grid-template-columns: 1fr;\n    }\n\n    .pm-row:nth-child(2) {\n      border-top: 1px solid var(--line);\n    }\n\n    #speech-bubble {\n      min-height: 0;\n    }\n\n    #ascii-portrait {\n      min-height: 220px;\n      max-height: 48vh;\n      overflow: auto;\n      font-size: clamp(4.2px, 1vw, 5.6px);\n    }\n\n    .fc-row {\n      grid-template-columns: 52px minmax(0, 1fr) auto;\n      grid-template-areas:\n        \"day icon hi\"\n        \"desc desc lo\";\n      gap: 6px 10px;\n      align-items: start;\n      padding: 10px 0;\n    }\n\n    .fc-day { grid-area: day; }\n    .fc-icon { grid-area: icon; }\n    .fc-desc { grid-area: desc; }\n    .fc-hi { grid-area: hi; justify-self: end; }\n    .fc-lo { grid-area: lo; justify-self: end; }\n\n    #w-footer,\n    #sketch-footer,\n    #monitor-footer {\n      gap: 6px;\n    }\n\n    #matrix-overlay {\n      padding: 12px;\n      font-size: 10px;\n    }\n  }\n</style>\n</head>\n<body>\n<div id=\"machine\">\n  <div id=\"status-bar\">\n    <button id=\"brand-button\" type=\"button\">PEAK TECH</button>\n    <div class=\"status-center\">\n      <span id=\"sb-status\">OFFLINE</span>\n      <span id=\"sb-cursor\"></span>\n    </div>\n    <div class=\"status-right\">\n      <span id=\"sb-active\">MODEM</span>\n      <span id=\"sb-clock\">--:--:--</span>\n    </div>\n  </div>\n\n  <div id=\"screen-stack\">\n    <section id=\"dial-screen\" class=\"screen active\">\n      <div id=\"left-panel\">\n        <div>\n          <div class=\"section-title\">CONNECTION</div>\n          <div class=\"section-sub\">SELECT NETWORK TYPE / BRING THE BOX ONLINE</div>\n        </div>\n\n        <div id=\"modem-wrap\">\n          <svg id=\"modem-svg\" viewBox=\"0 0 380 140\" xmlns=\"http://www.w3.org/2000/svg\">\n            <rect class=\"m-body\" x=\"8\" y=\"44\" width=\"148\" height=\"52\" rx=\"2\"/>\n            <rect class=\"m-body\" x=\"8\" y=\"44\" width=\"148\" height=\"8\" rx=\"2\"/>\n            <line class=\"m-detail\" x1=\"18\" y1=\"58\" x2=\"18\" y2=\"88\"/>\n            <line class=\"m-detail\" x1=\"22\" y1=\"58\" x2=\"22\" y2=\"88\"/>\n            <line class=\"m-detail\" x1=\"26\" y1=\"58\" x2=\"26\" y2=\"88\"/>\n            <line class=\"m-detail\" x1=\"30\" y1=\"58\" x2=\"30\" y2=\"88\"/>\n            <line class=\"m-detail\" x1=\"34\" y1=\"58\" x2=\"34\" y2=\"88\"/>\n            <text x=\"50\" y=\"74\" fill=\"#efefef\" font-family=\"Courier New, monospace\" font-size=\"5\" letter-spacing=\"2.5\">V.34 DATA/FAX</text>\n            <text x=\"50\" y=\"84\" fill=\"#9c9c9c\" font-family=\"Courier New, monospace\" font-size=\"4\" letter-spacing=\"1.5\">33600 BPS</text>\n            <text x=\"110\" y=\"61\" fill=\"#808080\" font-family=\"Courier New, monospace\" font-size=\"3.5\" letter-spacing=\"1\">PWR</text>\n            <text x=\"122\" y=\"61\" fill=\"#808080\" font-family=\"Courier New, monospace\" font-size=\"3.5\" letter-spacing=\"1\">CD</text>\n            <text x=\"133\" y=\"61\" fill=\"#808080\" font-family=\"Courier New, monospace\" font-size=\"3.5\" letter-spacing=\"1\">TX</text>\n            <circle id=\"led-pwr\" class=\"m-led-on\" cx=\"113\" cy=\"68\" r=\"2.2\"/>\n            <circle id=\"led-cd\" class=\"m-led-off\" cx=\"124\" cy=\"68\" r=\"2.2\"/>\n            <circle id=\"led-tx\" class=\"m-led-off\" cx=\"135\" cy=\"68\" r=\"2.2\"/>\n            <rect class=\"m-body\" x=\"148\" y=\"62\" width=\"10\" height=\"12\" rx=\"1\"/>\n            <line class=\"m-detail\" x1=\"150\" y1=\"65\" x2=\"150\" y2=\"71\"/>\n            <line class=\"m-detail\" x1=\"153\" y1=\"65\" x2=\"153\" y2=\"71\"/>\n            <line class=\"m-detail\" x1=\"156\" y1=\"65\" x2=\"156\" y2=\"71\"/>\n            <text x=\"148\" y=\"82\" fill=\"#808080\" font-family=\"Courier New, monospace\" font-size=\"3.5\" letter-spacing=\"1\">LINE</text>\n            <path id=\"m-cable\" class=\"m-cable\" d=\"M 158 68 C 200 68 220 70 248 70\"/>\n            <g id=\"globe-g\" transform=\"translate(300,70)\">\n              <circle class=\"g-circle\" cx=\"0\" cy=\"0\" r=\"30\"/>\n              <ellipse class=\"g-lat\" cx=\"0\" cy=\"0\" rx=\"30\" ry=\"10\"/>\n              <ellipse class=\"g-lat\" cx=\"0\" cy=\"0\" rx=\"30\" ry=\"20\"/>\n              <ellipse class=\"g-lon\" cx=\"0\" cy=\"0\" rx=\"13\" ry=\"30\"/>\n              <line class=\"g-lon\" x1=\"0\" y1=\"-30\" x2=\"0\" y2=\"30\"/>\n              <ellipse class=\"g-lon\" cx=\"0\" cy=\"0\" rx=\"24\" ry=\"30\"/>\n              <path id=\"arc1\" class=\"g-arc\" d=\"M -27 -10 Q -45 0 -27 10\"/>\n              <path id=\"arc2\" class=\"g-arc\" d=\"M -27 -18 Q -55 0 -27 18\"/>\n              <path id=\"arc3\" class=\"g-arc\" d=\"M -27 -26 Q -64 0 -27 26\"/>\n            </g>\n          </svg>\n        </div>\n\n        <div id=\"conn-list\">\n          <div class=\"cl-header\"><span>TYPE</span><span>SPEED</span><span>SEL</span></div>\n          <div class=\"conn-row\" data-speed=\"broadband\"><span>BROADBAND</span><span>10 MBPS</span><span class=\"cr-sel\">[ ]</span></div>\n          <div class=\"conn-row\" data-speed=\"isdn\"><span>ISDN</span><span>128 KBPS</span><span class=\"cr-sel\">[ ]</span></div>\n          <div class=\"conn-row\" data-speed=\"v90\"><span>V.90 MODEM</span><span>56K</span><span class=\"cr-sel\">[ ]</span></div>\n          <div class=\"conn-row\" data-speed=\"v34\"><span>V.34 MODEM</span><span>33.6K</span><span class=\"cr-sel\">[ ]</span></div>\n          <div class=\"conn-row\" data-speed=\"v22\"><span>V.22 MODEM</span><span>2400 BAUD</span><span class=\"cr-sel\">[ ]</span></div>\n        </div>\n\n        <button class=\"connect-btn\" id=\"connect-btn\" type=\"button\">CONNECT -></button>\n      </div>\n\n      <div id=\"right-panel\">\n        <div>\n          <div class=\"section-title\">SESSION LOG</div>\n          <div class=\"section-sub\">BOOT NOISE / NEGOTIATION / LINE STATUS</div>\n        </div>\n\n        <div id=\"log-panel\">\n          <div id=\"log-lines\"></div>\n        </div>\n\n        <div id=\"progress-block\">\n          <div class=\"pb-row\"><span id=\"pb-label\">AWAITING CONNECTION</span><span id=\"pb-pct\">--</span></div>\n          <div class=\"pb-track\"><div class=\"pb-fill\" id=\"pb-fill\"></div></div>\n        </div>\n\n        <div id=\"post-connect\">\n          <div class=\"pc-row\"><span class=\"pc-label\">STATUS</span><span class=\"pc-value\" id=\"pc-status\">-</span></div>\n          <div class=\"pc-row\"><span class=\"pc-label\">CONNECTION</span><span class=\"pc-value\" id=\"pc-conn\">-</span></div>\n          <div class=\"pc-row\"><span class=\"pc-label\">PROTOCOL</span><span class=\"pc-value\" id=\"pc-proto\">-</span></div>\n          <div class=\"pc-row\"><span class=\"pc-label\">COMPRESSION</span><span class=\"pc-value\" id=\"pc-comp\">-</span></div>\n          <div class=\"pc-row\"><span class=\"pc-label\">NOISE MARGIN</span><span class=\"pc-value\" id=\"pc-noise\">-</span></div>\n          <div class=\"pc-row\"><span class=\"pc-label\">ESTABLISHED</span><span class=\"pc-value\" id=\"pc-time\">-</span></div>\n          <button class=\"proceed-btn\" id=\"enter-system-btn\" type=\"button\">ENTER SYSTEM -></button>\n        </div>\n      </div>\n    </section>\n\n    <section id=\"desktop-screen\" class=\"screen\">\n      <div id=\"launcher-col\">\n        <div>\n          <div class=\"section-title\">PROGRAM LAUNCHER</div>\n          <div class=\"section-sub\" id=\"launcher-hint\">TYPE IN TTY OR PRESS 1 / 2 / 3</div>\n        </div>\n\n        <div id=\"program-list\"></div>\n\n        <div class=\"side-card\">\n          <div class=\"card-title\">BOOT NOTES</div>\n          <div id=\"desktop-log\"></div>\n        </div>\n\n        <div class=\"side-card\">\n          <div class=\"card-title\">HINTS</div>\n          <div class=\"card-copy\">\n            <div><strong>TTY:</strong> type <span class=\"accent\">help</span> or <span class=\"accent\">neofetch</span></div>\n            <div><strong>HOTKEYS:</strong> 1 terminal / 2 weather / 3 paint / 4 monitor</div>\n            <div><strong>FUN:</strong> the brand plate is not decorative</div>\n          </div>\n        </div>\n      </div>\n\n      <div id=\"workspace\">\n        <div id=\"workspace-header\">\n          <div>\n            <div id=\"workspace-title\">TTY SHELL</div>\n            <div id=\"workspace-subtitle\">PROGRAM READY / OLD SCHOOL USERLAND</div>\n          </div>\n          <div class=\"workspace-actions\">\n            <button class=\"action-btn\" type=\"button\" id=\"focus-terminal-btn\">FOCUS TTY</button>\n            <button class=\"action-btn\" type=\"button\" id=\"refresh-weather-btn\">REFRESH WX</button>\n            <button class=\"action-btn\" type=\"button\" id=\"disconnect-btn\">DISCONNECT</button>\n          </div>\n        </div>\n\n        <div id=\"workspace-body\">\n          <section id=\"terminal-pane\" class=\"app-pane\" data-app=\"terminal\" data-layout=\"flex\">\n            <div id=\"terminal-window\">\n              <div id=\"terminal-output\"></div>\n              <form id=\"terminal-form\">\n                <label class=\"term-prompt\" for=\"terminal-input\">visitor@peak-tech:~$</label>\n                <input id=\"terminal-input\" type=\"text\" autocomplete=\"off\" autocapitalize=\"off\" spellcheck=\"false\">\n              </form>\n            </div>\n          </section>\n\n          <section id=\"weather-pane\" class=\"app-pane\" data-app=\"weather\" data-layout=\"grid\" hidden>\n            <div id=\"portrait-col\">\n              <div id=\"speech-bubble\"><span id=\"speech-text\">BOOTING WX MODULE...</span></div>\n              <div id=\"ascii-portrait\">LOADING...</div>\n              <div id=\"portrait-meta\">\n                <div class=\"pm-row\"><span class=\"pm-label\">CONDITION</span><span class=\"pm-value\" id=\"pm-cond\">-</span></div>\n                <div class=\"pm-row\"><span class=\"pm-label\">AIR TEMP</span><span class=\"pm-value\" id=\"pm-feel\">-</span></div>\n                <div class=\"pm-row\"><span class=\"pm-label\">HUMIDITY</span><span class=\"pm-value\" id=\"pm-hum\">-</span></div>\n                <div class=\"pm-row\"><span class=\"pm-label\">WIND</span><span class=\"pm-value\" id=\"pm-wind\">-</span></div>\n              </div>\n            </div>\n            <div id=\"right-col-w\">\n              <div id=\"chart-section\">\n                <div class=\"subhead\">7 DAY TEMP / C</div>\n                <div id=\"ascii-chart\">LOADING...</div>\n              </div>\n              <div id=\"forecast-section\">\n                <div class=\"subhead\">EXTENDED FORECAST</div>\n                <div id=\"forecast-rows\"></div>\n              </div>\n              <div id=\"w-footer\">\n                <span id=\"w-loc\">STANDBY</span>\n                <span id=\"w-source\">OPEN-METEO + FALLBACK CACHE</span>\n              </div>\n            </div>\n          </section>\n\n          <section id=\"monitor-pane\" class=\"app-pane\" data-app=\"monitor\" data-layout=\"flex\" hidden>\n            <div id=\"monitor-grid\">\n              <div id=\"monitor-sidebar\">\n                <div class=\"monitor-card\">\n                  <div class=\"card-title\">SYSTEM VITALS</div>\n                  <div id=\"monitor-vitals\">\n                    <div class=\"monitor-metric\">\n                      <div class=\"monitor-label\">CPU</div>\n                      <div class=\"monitor-value\" id=\"mon-cpu-value\">00%</div>\n                      <div class=\"monitor-bar\"><div class=\"monitor-bar-fill\" id=\"mon-cpu-bar\"></div></div>\n                    </div>\n                    <div class=\"monitor-metric\">\n                      <div class=\"monitor-label\">MEM</div>\n                      <div class=\"monitor-value\" id=\"mon-mem-value\">00%</div>\n                      <div class=\"monitor-bar\"><div class=\"monitor-bar-fill\" id=\"mon-mem-bar\"></div></div>\n                    </div>\n                    <div class=\"monitor-metric\">\n                      <div class=\"monitor-label\">DISK</div>\n                      <div class=\"monitor-value\" id=\"mon-disk-value\">00%</div>\n                      <div class=\"monitor-bar\"><div class=\"monitor-bar-fill\" id=\"mon-disk-bar\"></div></div>\n                    </div>\n                    <div class=\"monitor-metric\">\n                      <div class=\"monitor-label\">NET</div>\n                      <div class=\"monitor-value\" id=\"mon-net-value\">0.0KB/S</div>\n                      <div class=\"monitor-bar\"><div class=\"monitor-bar-fill\" id=\"mon-net-bar\"></div></div>\n                    </div>\n                  </div>\n                </div>\n\n                <div class=\"monitor-card\">\n                  <div class=\"card-title\">LINK STATE</div>\n                  <div class=\"monitor-copy\" id=\"monitor-link-copy\">LINE IDLE</div>\n                </div>\n\n                <div class=\"monitor-card\">\n                  <div class=\"card-title\">ACTIVE SERVICES</div>\n                  <div class=\"monitor-copy\" id=\"monitor-services-copy\">INIT / WXD / PAINTD / TTYD</div>\n                </div>\n              </div>\n\n              <div id=\"monitor-main\">\n                <div class=\"monitor-card\" id=\"monitor-graph\">\n                  <div class=\"card-title\">LOAD TRACE</div>\n                  <pre id=\"monitor-graph-pre\">BOOTING MONITOR...</pre>\n                </div>\n\n                <div class=\"monitor-card\" id=\"monitor-processes\">\n                  <div class=\"card-title\">PROCESS TABLE</div>\n                  <pre id=\"monitor-processes-pre\">SCANNING PIDS...</pre>\n                </div>\n              </div>\n            </div>\n\n            <div id=\"monitor-footer\">\n              <span id=\"monitor-status\">MONITOR READY / TYPE MONITOR OR TOP IN TTY</span>\n              <span id=\"monitor-updated\">LAST SAMPLE --:--:--</span>\n            </div>\n          </section>\n\n          <section id=\"sketch-pane\" class=\"app-pane\" data-app=\"sketch\" data-layout=\"flex\" hidden>\n            <div id=\"sketch-toolbar\">\n              <div class=\"tool-group\">\n                <span class=\"tool-label\">TOOL</span>\n                <button class=\"tool-btn active\" type=\"button\" data-tool=\"pen\">PEN</button>\n                <button class=\"tool-btn\" type=\"button\" data-tool=\"erase\">ERASE</button>\n              </div>\n              <div class=\"tool-group\">\n                <span class=\"tool-label\">SIZE</span>\n                <button class=\"sketch-btn active\" type=\"button\" data-size=\"1\">1PX</button>\n                <button class=\"sketch-btn\" type=\"button\" data-size=\"2\">2PX</button>\n                <button class=\"sketch-btn\" type=\"button\" data-size=\"4\">4PX</button>\n              </div>\n              <div class=\"tool-group\">\n                <span class=\"tool-label\">PALETTE</span>\n                <button class=\"palette-btn active\" type=\"button\" data-color=\"#f2f2f2\" style=\"--swatch:#f2f2f2\"></button>\n                <button class=\"palette-btn\" type=\"button\" data-color=\"#d2d2d2\" style=\"--swatch:#d2d2d2\"></button>\n                <button class=\"palette-btn\" type=\"button\" data-color=\"#a4a4a4\" style=\"--swatch:#a4a4a4\"></button>\n                <button class=\"palette-btn\" type=\"button\" data-color=\"#676767\" style=\"--swatch:#676767\"></button>\n                <button class=\"palette-btn\" type=\"button\" data-color=\"#303030\" style=\"--swatch:#303030\"></button>\n              </div>\n              <div class=\"tool-group\">\n                <button class=\"sketch-btn\" type=\"button\" id=\"sketch-clear-btn\">CLEAR</button>\n                <button class=\"sketch-btn\" type=\"button\" id=\"sketch-save-btn\">SAVE SLOT</button>\n                <button class=\"sketch-btn\" type=\"button\" id=\"sketch-load-btn\">LOAD SLOT</button>\n                <button class=\"sketch-btn\" type=\"button\" id=\"sketch-image-btn\">SAVE IMAGE</button>\n              </div>\n            </div>\n\n            <div id=\"sketch-board-wrap\">\n              <canvas id=\"sketch-canvas\" width=\"160\" height=\"96\"></canvas>\n            </div>\n\n            <div id=\"sketch-footer\">\n              <span id=\"sketch-status\">DRAW WITH MOUSE OR TOUCH / TRY MAKING A BBS LOGO</span>\n              <span id=\"sketch-memory\">LOCAL RAM SLOT: EMPTY</span>\n            </div>\n          </section>\n\n          <section id=\"phreak-pane\" class=\"app-pane\" data-app=\"phreak\" data-layout=\"block\" hidden>\n            <div class=\"trace-grid\">\n              <div class=\"trace-card\">\n                <div class=\"card-title\">TRACE BUFFER</div>\n                <pre id=\"trace-buffer\">\nPACKET PATH\n  PSTN  ->  MODEM  ->  PEAK TECH  ->  YOU\n\nUNLOCK NOTES\n  ROOT NEVER REALLY LOCKED YOU OUT.\n  IT JUST WANTED YOU TO LOOK AROUND.\n\nASCII TOTEM\n      .----.\n     / .--. \\\n    / /    \\ \\\n    | |    | |\n    | |.-\"\"-.|\n   ///`.::::.`\\\n  ||| ::/  \\:: ;\n  ||; ::\\__/:: ;\n   \\\\\\ '::::' /\n    `=':-..-'`\n                </pre>\n              </div>\n              <div class=\"trace-card\">\n                <div class=\"card-title\">SECRET STATE</div>\n                <div class=\"trace-list\" id=\"secret-copy\">\n                  <div>PHREAK MODE ENABLED</div>\n                  <div>HIDDEN MODULES: TTY TRICKS / BRAND SWITCH / KEY SEQUENCE</div>\n                  <div>KNOWN COMMANDS: fortune / matrix / sudo / weather / paint / monitor</div>\n                  <div>FAVORITE RESPONSE: sudo make me a sandwich</div>\n                  <div>LAST HINT: THERE IS ALWAYS A SECOND WAY IN</div>\n                </div>\n              </div>\n            </div>\n          </section>\n        </div>\n      </div>\n    </section>\n  </div>\n</div>\n\n<pre id=\"matrix-overlay\" aria-hidden=\"true\"></pre>\n\n<script>\nconst PROGRAMS = [\n  {\n    id: \"terminal\",\n    title: \"TTY SHELL\",\n    subtitle: \"PROGRAM READY / OLD SCHOOL USERLAND\",\n    launcherLabel: \"TTY SHELL\",\n    tag: \"READY\",\n    hotkey: \"1\",\n    cli: \"tty\"\n  },\n  {\n    id: \"weather\",\n    title: \"WX-7 WEATHER\",\n    subtitle: \"LIVE FORECAST / ASCII TELEMETRY\",\n    launcherLabel: \"WX-7 WEATHER\",\n    tag: \"LIVE\",\n    hotkey: \"2\",\n    cli: \"weather\"\n  },\n  {\n    id: \"sketch\",\n    title: \"PEAK PAINT\",\n    subtitle: \"PIXEL PAD / DRAW IN GREYSCALE\",\n    launcherLabel: \"PEAK PAINT\",\n    tag: \"DRAW\",\n    hotkey: \"3\",\n    cli: \"paint\"\n  },\n  {\n    id: \"monitor\",\n    title: \"SYS MONITOR\",\n    subtitle: \"LIVE TELEMETRY / FAKE LOAD / REAL VIBE\",\n    launcherLabel: \"SYS MONITOR\",\n    tag: \"LIVE\",\n    hotkey: \"4\",\n    cli: \"monitor\"\n  },\n  {\n    id: \"phreak\",\n    title: \"SYS TRACE\",\n    subtitle: \"ROOT MODE / EASTER EGG STORAGE\",\n    launcherLabel: \"SYS TRACE\",\n    tag: \"ROOT\",\n    hotkey: \"5\",\n    cli: \"sys-trace\",\n    locked: true\n  }\n];\n\nconst PROGRAM_MAP = Object.fromEntries(PROGRAMS.map((program) => [program.id, program]));\n\nconst PROFILES = {\n  broadband: {\n    label: \"BROADBAND / 10 MBPS\",\n    proto: \"TCP/IP\",\n    comp: \"NONE\",\n    noise: \"N/A\",\n    lineDelay: 180,\n    sound: \"broadband\",\n    log: [\"DETECTING ADAPTER\", \"ASSIGNING IP ADDRESS\", \"NEGOTIATING DNS\", \"MOUNTING USERLAND\", \"CONNECTED\"]\n  },\n  isdn: {\n    label: \"ISDN / 128 KBPS\",\n    proto: \"ISDN B-CHANNEL\",\n    comp: \"NONE\",\n    noise: \"N/A\",\n    lineDelay: 240,\n    sound: \"isdn\",\n    log: [\"INITIALISING ISDN\", \"ESTABLISHING B-CHANNEL\", \"SYNCHRONISING CLOCKS\", \"CROSS-CHECKING CARRIER\", \"CONNECTED\"]\n  },\n  v90: {\n    label: \"V.90 / 56K\",\n    proto: \"V.42BIS\",\n    comp: \"ENABLED\",\n    noise: \"18 DB\",\n    lineDelay: 320,\n    sound: \"modem\",\n    log: [\"ATZ\", \"OK\", \"ATDT 0046855512000\", \"CONNECT 56000/ARQ/V90\", \"NEGOTIATING COMPRESSION\", \"CONNECTED\"]\n  },\n  v34: {\n    label: \"V.34 / 33.6K\",\n    proto: \"V.42BIS\",\n    comp: \"ENABLED\",\n    noise: \"12 DB\",\n    lineDelay: 380,\n    sound: \"modem\",\n    log: [\"ATZ\", \"OK\", \"ATDT 0046855512000\", \"RING\", \"CONNECT 33600/ARQ/V34\", \"PROTOCOL V42BIS\", \"CONNECTED\"]\n  },\n  v22: {\n    label: \"V.22 / 2400 BAUD\",\n    proto: \"V.22\",\n    comp: \"DISABLED\",\n    noise: \"4 DB / MARGINAL\",\n    lineDelay: 480,\n    sound: \"modem\",\n    log: [\"ATZ\", \"OK\", \"ATDT 0046855512001\", \"RING\", \"NO CARRIER\", \"REDIAL 2\", \"CONNECT 2400\", \"CONNECTED / BARELY\"]\n  }\n};\n\nconst WMO = {\n  0: { desc: \"CLEAR SKY\", icon: \"[ * ]\" },\n  1: { desc: \"MAINLY CLEAR\", icon: \"[ .* ]\" },\n  2: { desc: \"PARTLY CLOUDY\", icon: \"[ ~* ]\" },\n  3: { desc: \"OVERCAST\", icon: \"[~~~]\" },\n  45: { desc: \"FOGGY\", icon: \"[...]\" },\n  48: { desc: \"RIME FOG\", icon: \"[.:.]\" },\n  51: { desc: \"LIGHT DRIZZLE\", icon: \"[,.,]\" },\n  53: { desc: \"DRIZZLE\", icon: \"[,|,]\" },\n  55: { desc: \"HEAVY DRIZZLE\", icon: \"[|||]\" },\n  61: { desc: \"LIGHT RAIN\", icon: \"[/./]\" },\n  63: { desc: \"RAIN\", icon: \"[///]\" },\n  65: { desc: \"HEAVY RAIN\", icon: \"[/!/]\" },\n  71: { desc: \"LIGHT SNOW\", icon: \"[***]\" },\n  73: { desc: \"SNOW\", icon: \"[**+]\" },\n  75: { desc: \"HEAVY SNOW\", icon: \"[+++]\" },\n  80: { desc: \"RAIN SHOWERS\", icon: \"[/|/]\" },\n  95: { desc: \"THUNDERSTORM\", icon: \"[!!!]\" },\n  99: { desc: \"HAIL STORM\", icon: \"[X!X]\" }\n};\n\nconst SPEECH = {\n  clear: [\n    \"clear sky. the chart is behaving itself.\",\n    \"sunlight stable. no drama in the buffer.\",\n    \"clean visibility. this is the easy mode forecast.\"\n  ],\n  cloud: [\n    \"cloud cover holding. line looks flat this week.\",\n    \"grey out there. still quiet on the chart.\",\n    \"overcast, but nothing too weird in the telemetry.\"\n  ],\n  fog: [\n    \"visibility low. the city feels compressed.\",\n    \"fog is sitting on the streets. move slow.\",\n    \"low horizon today. the graph barely reacts.\"\n  ],\n  rain: [\n    \"rain in the pipe. humidity is running hot.\",\n    \"wet outside. yes, the chart saw it coming.\",\n    \"precip confirmed. carry something waterproof.\"\n  ],\n  snow: [\n    \"snowfall active. temperature dip is obvious.\",\n    \"cold front detected. this one is properly winter.\",\n    \"white noise outside. watch the lows.\"\n  ],\n  storm: [\n    \"storm signal high. maybe stay indoors.\",\n    \"bad sky. the chart spikes for a reason.\",\n    \"violent weather. this is not a drill.\"\n  ]\n};\n\nconst DAYS = [\"SUNDAY\", \"MONDAY\", \"TUESDAY\", \"WEDNESDAY\", \"THURSDAY\", \"FRIDAY\", \"SATURDAY\"];\nconst RAMP = \" .'`^\\\\\\\",:;Il!i><~+_-?][}{1)(|\\\\\\\\/tfjrxnuvczXYUJCLQ0OZmwqpdbkhao*#MW&8%B@$\";\nconst PAINT_KEY = \"peak-tech-sketch-v1\";\nconst MOCK = {\n  city: \"STOCKHOLM\",\n  lat: 59.33,\n  lon: 18.07,\n  current: { weathercode: 2, temperature: 3, windspeed: 14 },\n  humidity: 72,\n  daily: {\n    time: [0, 1, 2, 3, 4, 5, 6].map((offset) => {\n      const date = new Date();\n      date.setDate(date.getDate() + offset);\n      return date.toISOString().slice(0, 10);\n    }),\n    weathercode: [2, 3, 61, 63, 3, 1, 0],\n    temperature_2m_max: [4, 3, 5, 7, 6, 8, 10],\n    temperature_2m_min: [-1, 0, 2, 3, 1, 3, 4]\n  }\n};\n\nconst state = {\n  currentSpeed: null,\n  connecting: false,\n  weatherReady: false,\n  currentApp: \"terminal\",\n  connectedAt: null,\n  secretUnlocked: false,\n  brandClicks: 0,\n  brandResetTimer: null,\n  audioCtx: null,\n  matrixActive: false,\n  matrixTimer: null,\n  portraitGrid: null,\n  portraitMeta: null,\n  typeTimer: null,\n  logTimer: null,\n  desktopLogTimers: [],\n  monitorTimer: null,\n  monitorTick: 0,\n  monitorHistory: {\n    cpu: Array.from({ length: 32 }, () => 18),\n    mem: Array.from({ length: 32 }, () => 28),\n    net: Array.from({ length: 32 }, () => 8)\n  },\n  paintTool: \"pen\",\n  paintColor: \"#f2f2f2\",\n  paintSize: 1,\n  paintDrawing: false,\n  lastPaintPoint: null,\n  konamiIndex: 0\n};\n\nlet lpT = null;\nlet lcT = null;\nlet ltT = null;\nlet arcT = [];\n\nconst termInput = document.getElementById(\"terminal-input\");\nconst termOutput = document.getElementById(\"terminal-output\");\nconst desktopLog = document.getElementById(\"desktop-log\");\nconst sketchCanvas = document.getElementById(\"sketch-canvas\");\nconst sketchCtx = sketchCanvas.getContext(\"2d\", { willReadFrequently: false });\n\nsketchCtx.imageSmoothingEnabled = false;\n\nfunction pad(number) {\n  return String(number).padStart(2, \"0\");\n}\n\nfunction formatClock(date) {\n  return `${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}`;\n}\n\nfunction updateClock() {\n  document.getElementById(\"sb-clock\").textContent = formatClock(new Date());\n}\n\nfunction setStatus(text, isConnected) {\n  const status = document.getElementById(\"sb-status\");\n  status.textContent = text;\n  status.className = isConnected ? \"connected\" : \"\";\n}\n\nfunction setCursor(active) {\n  document.getElementById(\"sb-cursor\").className = active ? \"active\" : \"\";\n}\n\nfunction setActiveLabel(text) {\n  document.getElementById(\"sb-active\").textContent = text;\n}\n\nfunction showScreen(id) {\n  document.querySelectorAll(\".screen\").forEach((screen) => {\n    screen.classList.toggle(\"active\", screen.id === id);\n  });\n}\n\nfunction isProgramAvailable(programId) {\n  const program = PROGRAM_MAP[programId];\n  return Boolean(program && (!program.locked || state.secretUnlocked));\n}\n\nfunction getVisiblePrograms() {\n  return PROGRAMS.filter((program) => isProgramAvailable(program.id));\n}\n\nfunction renderProgramList() {\n  const list = document.getElementById(\"program-list\");\n  const hint = document.getElementById(\"launcher-hint\");\n  const visiblePrograms = getVisiblePrograms();\n  hint.textContent = `TYPE IN TTY OR PRESS ${visiblePrograms.map((program) => program.hotkey).join(\" / \")}`;\n  list.innerHTML = \"\";\n\n  visiblePrograms.forEach((program) => {\n    const button = document.createElement(\"button\");\n    button.type = \"button\";\n    button.className = `program-row${state.currentApp === program.id ? \" selected\" : \"\"}`;\n    button.dataset.app = program.id;\n    button.innerHTML = `\n      <span class=\"program-index\">[${program.hotkey}]</span>\n      <span>${program.launcherLabel}</span>\n      <span class=\"program-tag\">${program.tag}</span>\n    `;\n    list.appendChild(button);\n  });\n}\n\nfunction getProgramByToken(token) {\n  const normalized = token.toLowerCase().trim();\n  if (!normalized) {\n    return null;\n  }\n  return getVisiblePrograms().find((program) => {\n    return [program.id, program.cli, program.title, program.launcherLabel]\n      .filter(Boolean)\n      .some((value) => value.toLowerCase() === normalized || value.toLowerCase().includes(normalized) || normalized.includes(value.toLowerCase()));\n  }) || null;\n}\n\nfunction ac() {\n  if (!state.audioCtx) {\n    state.audioCtx = new (window.AudioContext || window.webkitAudioContext)();\n  }\n  return state.audioCtx;\n}\n\nfunction playToneNow(freq, durMs, type, vol) {\n  const ctx = ac();\n  const osc = ctx.createOscillator();\n  const gain = ctx.createGain();\n  osc.connect(gain);\n  gain.connect(ctx.destination);\n  osc.type = type || \"sine\";\n  osc.frequency.value = freq;\n  gain.gain.setValueAtTime(vol == null ? 0.12 : vol, ctx.currentTime);\n  gain.gain.exponentialRampToValueAtTime(0.0001, ctx.currentTime + durMs / 1000);\n  osc.start();\n  osc.stop(ctx.currentTime + durMs / 1000 + 0.02);\n}\n\nfunction sched(freq, delay, dur, type, vol) {\n  window.setTimeout(() => playToneNow(freq, dur, type, vol), delay);\n}\n\nfunction schedDF(f1, f2, delay, dur) {\n  sched(f1, delay, dur, \"sine\", 0.07);\n  sched(f2, delay, dur, \"sine\", 0.07);\n}\n\nfunction playSound(type) {\n  ac().resume();\n  if (type === \"broadband\") {\n    sched(600, 0, 60, \"square\", 0.05);\n    sched(800, 80, 60, \"square\", 0.05);\n    sched(1000, 160, 60, \"square\", 0.05);\n    schedDF(2100, 1200, 400, 300);\n    return;\n  }\n  if (type === \"isdn\") {\n    schedDF(697, 1209, 0, 100);\n    schedDF(770, 1336, 150, 100);\n    schedDF(852, 1477, 300, 100);\n    schedDF(2100, 1200, 700, 500);\n    return;\n  }\n  let offset = 0;\n  const rows = [697, 770, 852, 941];\n  const cols = [1209, 1336, 1477];\n  for (let index = 0; index < 13; index += 1) {\n    schedDF(rows[Math.floor(Math.random() * 4)], cols[Math.floor(Math.random() * 3)], offset, 90);\n    offset += 120;\n  }\n  offset += 300;\n  for (let tone = 0; tone < 2; tone += 1) {\n    schedDF(440, 480, offset, 800);\n    offset += 1800;\n  }\n  offset += 150;\n  [\n    [2100, 0, 900],\n    [1200, 2400, 500],\n    [600, 1800, 400],\n    [2400, 1200, 450],\n    [1800, 800, 350],\n    [800, 2100, 500],\n    [1200, 2400, 300],\n    [600, 1200, 400],\n    [2400, 600, 350]\n  ].forEach(([f1, f2, dur]) => {\n    schedDF(f1, f2, offset, dur);\n    offset += dur + 40;\n  });\n  for (let tick = 0; tick < 10; tick += 1) {\n    sched(300 + tick * 180, offset, 120, \"sawtooth\", 0.06);\n    offset += 130;\n  }\n}\n\nfunction ledSet(id, on) {\n  const el = document.getElementById(id);\n  if (el) {\n    el.className.baseVal = on ? \"m-led-on\" : \"m-led-off\";\n  }\n}\n\nfunction ledBlink(id, ms) {\n  let on = true;\n  return window.setInterval(() => {\n    ledSet(id, on);\n    on = !on;\n  }, ms);\n}\n\nfunction clearLedTimers() {\n  clearInterval(lpT);\n  clearInterval(lcT);\n  clearInterval(ltT);\n  arcT.forEach((timer) => clearInterval(timer));\n  arcT = [];\n}\n\nfunction modemIdle() {\n  clearLedTimers();\n  ledSet(\"led-pwr\", true);\n  ledSet(\"led-cd\", false);\n  ledSet(\"led-tx\", false);\n  lpT = ledBlink(\"led-pwr\", 2400);\n  const cable = document.getElementById(\"m-cable\");\n  cable.style.strokeDashoffset = \"120\";\n  cable.style.transition = \"none\";\n  [\"arc1\", \"arc2\", \"arc3\"].forEach((id) => {\n    const arc = document.getElementById(id);\n    arc.style.opacity = \"0\";\n    arc.style.transition = \"none\";\n  });\n}\n\nfunction modemConnecting() {\n  clearLedTimers();\n  ledSet(\"led-pwr\", true);\n  lcT = ledBlink(\"led-cd\", 200);\n  ltT = ledBlink(\"led-tx\", 90);\n  const cable = document.getElementById(\"m-cable\");\n  cable.style.transition = \"stroke-dashoffset 1s ease-out\";\n  window.setTimeout(() => {\n    cable.style.strokeDashoffset = \"0\";\n  }, 100);\n}\n\nfunction modemConnected() {\n  clearLedTimers();\n  ledSet(\"led-pwr\", true);\n  ledSet(\"led-cd\", true);\n  ltT = ledBlink(\"led-tx\", 600);\n  [\"arc1\", \"arc2\", \"arc3\"].forEach((id, index) => {\n    const arc = document.getElementById(id);\n    const pulse = () => {\n      arc.style.transition = \"opacity 0.3s\";\n      arc.style.opacity = \"0.92\";\n      window.setTimeout(() => {\n        arc.style.transition = \"opacity 0.6s\";\n        arc.style.opacity = \"0.08\";\n      }, 350);\n    };\n    window.setTimeout(() => {\n      pulse();\n      arcT.push(window.setInterval(pulse, 1400));\n    }, index * 320);\n  });\n}\n\nfunction resetConnectPanel() {\n  document.getElementById(\"log-panel\").style.display = \"\";\n  document.getElementById(\"progress-block\").style.display = \"\";\n  document.getElementById(\"log-lines\").innerHTML = \"\";\n  document.getElementById(\"post-connect\").classList.remove(\"show\");\n  document.getElementById(\"pb-label\").textContent = \"AWAITING CONNECTION\";\n  document.getElementById(\"pb-pct\").textContent = \"--\";\n  document.getElementById(\"pb-fill\").style.width = \"0%\";\n  document.getElementById(\"connect-btn\").disabled = false;\n  document.getElementById(\"connect-btn\").textContent = \"CONNECT ->\";\n}\n\nfunction selectSpeed(row) {\n  if (state.connecting) {\n    return;\n  }\n  document.querySelectorAll(\".conn-row\").forEach((candidate) => {\n    candidate.classList.remove(\"selected\");\n    candidate.querySelector(\".cr-sel\").textContent = \"[ ]\";\n  });\n  row.classList.add(\"selected\");\n  row.querySelector(\".cr-sel\").textContent = \"[*]\";\n  state.currentSpeed = row.dataset.speed;\n  document.getElementById(\"connect-btn\").classList.add(\"visible\");\n}\n\nfunction startConnect() {\n  if (!state.currentSpeed || state.connecting) {\n    return;\n  }\n  const profile = PROFILES[state.currentSpeed];\n  const button = document.getElementById(\"connect-btn\");\n  state.connecting = true;\n  button.disabled = true;\n  button.textContent = \"CONNECTING...\";\n  playSound(profile.sound);\n  modemConnecting();\n  setStatus(\"CONNECTING\", false);\n  setCursor(true);\n  setActiveLabel(profile.label);\n  document.getElementById(\"log-lines\").innerHTML = \"\";\n  document.getElementById(\"pb-label\").textContent = \"ESTABLISHING CONNECTION\";\n  document.getElementById(\"pb-pct\").textContent = \"0%\";\n  document.getElementById(\"pb-fill\").style.width = \"0%\";\n  const logContainer = document.getElementById(\"log-lines\");\n  profile.log.forEach((message) => {\n    const line = document.createElement(\"div\");\n    line.className = \"log-line\";\n    line.textContent = message;\n    logContainer.appendChild(line);\n  });\n  const lines = logContainer.querySelectorAll(\".log-line\");\n  let index = 0;\n  clearInterval(state.logTimer);\n  state.logTimer = window.setInterval(() => {\n    if (index > 0) {\n      lines[index - 1].classList.remove(\"cur\");\n    }\n    if (index < lines.length) {\n      lines[index].classList.add(\"vis\", \"cur\");\n      const pct = Math.round(((index + 1) / lines.length) * 100);\n      document.getElementById(\"pb-fill\").style.width = `${pct}%`;\n      document.getElementById(\"pb-pct\").textContent = `${pct}%`;\n      index += 1;\n      return;\n    }\n    clearInterval(state.logTimer);\n    window.setTimeout(onConnected, 500);\n  }, profile.lineDelay);\n}\n\nfunction onConnected() {\n  const profile = PROFILES[state.currentSpeed];\n  modemConnected();\n  setStatus(\"ONLINE\", true);\n  setCursor(false);\n  setActiveLabel(profile.label);\n  state.connectedAt = new Date();\n  state.connecting = false;\n  document.getElementById(\"log-panel\").style.display = \"none\";\n  document.getElementById(\"progress-block\").style.display = \"none\";\n  document.getElementById(\"pc-status\").textContent = \"ONLINE\";\n  document.getElementById(\"pc-conn\").textContent = profile.label;\n  document.getElementById(\"pc-proto\").textContent = profile.proto;\n  document.getElementById(\"pc-comp\").textContent = profile.comp;\n  document.getElementById(\"pc-noise\").textContent = profile.noise;\n  document.getElementById(\"pc-time\").textContent = formatClock(new Date());\n  document.getElementById(\"post-connect\").classList.add(\"show\");\n}\n\nfunction enterSystem() {\n  showScreen(\"desktop-screen\");\n  setStatus(\"ONLINE\", true);\n  renderProgramList();\n  setActiveLabel(PROGRAM_MAP[state.currentApp].title);\n  bootDesktopLog();\n  appendWelcomeIfNeeded();\n  switchApp(\"terminal\");\n  focusTerminal();\n}\n\nfunction disconnectSystem() {\n  clearLedTimers();\n  clearInterval(state.monitorTimer);\n  modemIdle();\n  showScreen(\"dial-screen\");\n  resetConnectPanel();\n  document.querySelectorAll(\".conn-row\").forEach((row) => {\n    row.classList.remove(\"selected\");\n    row.querySelector(\".cr-sel\").textContent = \"[ ]\";\n  });\n  state.currentSpeed = null;\n  state.connecting = false;\n  state.connectedAt = null;\n  setStatus(\"OFFLINE\", false);\n  setActiveLabel(\"MODEM\");\n  setCursor(false);\n  document.getElementById(\"connect-btn\").classList.remove(\"visible\");\n  appendTerminalLine(\"line dropped. returning to dial screen.\", \"warn\");\n}\n\nfunction switchApp(app) {\n  const program = PROGRAM_MAP[app];\n  if (!program || !isProgramAvailable(app)) {\n    return;\n  }\n  state.currentApp = app;\n  if (app !== \"monitor\") {\n    clearInterval(state.monitorTimer);\n  }\n  renderProgramList();\n  document.querySelectorAll(\".app-pane\").forEach((pane) => {\n    const isActive = pane.dataset.app === app;\n    pane.classList.toggle(\"active\", isActive);\n    pane.hidden = !isActive;\n  });\n  document.getElementById(\"workspace-title\").textContent = program.title;\n  document.getElementById(\"workspace-subtitle\").textContent = program.subtitle;\n  setActiveLabel(program.title);\n  if (app === \"monitor\") {\n    startMonitorLoop();\n  }\n  if (app === \"terminal\") {\n    focusTerminal();\n  }\n}\n\nfunction bootDesktopLog() {\n  desktopLog.innerHTML = \"\";\n  state.desktopLogTimers.forEach((timer) => clearTimeout(timer));\n  state.desktopLogTimers = [];\n  const lines = [\n    \"BOOT OK / USERLAND MOUNTED\",\n    \"TTY READY / TYPE HELP FOR COMMANDS\",\n    \"WX-7 WEATHER CACHE LOADED\",\n    \"PAINT BUFFER READY / LOCAL SLOT CHECKED\",\n    \"MONITOR DAEMON SEEDED / WAITING FOR OPEN\",\n    state.secretUnlocked ? \"ROOT TRACE ALREADY UNLOCKED\" : \"SECRET MODULE PRESENT / NOT YET EXPOSED\"\n  ];\n  lines.forEach((line, index) => {\n    const timer = window.setTimeout(() => {\n      const row = document.createElement(\"div\");\n      row.className = \"desktop-log-line live\";\n      row.textContent = line;\n      desktopLog.appendChild(row);\n      desktopLog.scrollTop = desktopLog.scrollHeight;\n    }, index * 280);\n    state.desktopLogTimers.push(timer);\n  });\n}\n\nfunction appendTerminalLine(text, tone) {\n  const line = document.createElement(\"div\");\n  line.className = `term-line${tone ? ` ${tone}` : \"\"}`;\n  line.textContent = text;\n  termOutput.appendChild(line);\n  termOutput.scrollTop = termOutput.scrollHeight;\n}\n\nfunction appendTerminalBlock(lines, tone) {\n  lines.forEach((line) => appendTerminalLine(line, tone));\n}\n\nfunction appendPromptEcho(text) {\n  appendTerminalLine(`visitor@peak-tech:~$ ${text}`, \"accent\");\n}\n\nfunction appendWelcomeIfNeeded() {\n  if (termOutput.dataset.booted === \"true\") {\n    return;\n  }\n  appendTerminalBlock([\n    \"peak tech museum shell 0.9.4\",\n    \"connected. machine is stable. mouse and keyboard online.\",\n    \"available: help, weather, paint, monitor, neofetch, fortune, matrix, clear\",\n    \"tip: try 'sudo make me a sandwich'\"\n  ]);\n  termOutput.dataset.booted = \"true\";\n}\n\nfunction uptimeString() {\n  if (!state.connectedAt) {\n    return \"00:00:00\";\n  }\n  const diff = Math.max(0, Math.floor((Date.now() - state.connectedAt.getTime()) / 1000));\n  const hours = pad(Math.floor(diff / 3600));\n  const mins = pad(Math.floor((diff % 3600) / 60));\n  const secs = pad(diff % 60);\n  return `${hours}:${mins}:${secs}`;\n}\n\nfunction clamp(value, min, max) {\n  return Math.min(max, Math.max(min, value));\n}\n\nfunction pushHistory(series, value) {\n  series.push(value);\n  if (series.length > 32) {\n    series.shift();\n  }\n}\n\nfunction asciiBar(value, width) {\n  const filled = Math.round((value / 100) * width);\n  return `${\"#\".repeat(filled)}${\".\".repeat(Math.max(0, width - filled))}`;\n}\n\nfunction sparkline(history) {\n  const ramp = \" .:-=+*#%@\";\n  return history.map((value) => ramp[Math.min(ramp.length - 1, Math.floor((value / 100) * (ramp.length - 1)))]).join(\"\");\n}\n\nfunction currentLinkLabel() {\n  return state.currentSpeed ? PROFILES[state.currentSpeed].label : \"NO LINK\";\n}\n\nfunction sampleMonitor() {\n  state.monitorTick += 1;\n  const wave = Math.sin(state.monitorTick / 2.8);\n  const wobble = Math.cos(state.monitorTick / 4.7);\n  const speedBias = state.currentSpeed === \"broadband\" ? 10 : state.currentSpeed === \"isdn\" ? 4 : 0;\n  const cpu = clamp(Math.round(24 + wave * 18 + Math.random() * 11 + speedBias), 6, 96);\n  const mem = clamp(Math.round(38 + wobble * 9 + Math.random() * 7), 18, 88);\n  const disk = clamp(Math.round(56 + Math.sin(state.monitorTick / 8.8) * 4 + Math.random() * 3), 40, 81);\n  const net = clamp(Math.round(cpu * 0.65 + Math.random() * 18), 2, 100);\n  pushHistory(state.monitorHistory.cpu, cpu);\n  pushHistory(state.monitorHistory.mem, mem);\n  pushHistory(state.monitorHistory.net, net);\n  return { cpu, mem, disk, net };\n}\n\nfunction buildMonitorGraph() {\n  const cpu = sparkline(state.monitorHistory.cpu);\n  const mem = sparkline(state.monitorHistory.mem);\n  const net = sparkline(state.monitorHistory.net);\n  return [\n    \"TIME   \" + Array.from({ length: 32 }, (_, index) => (index % 4 === 0 ? \"|\" : \".\")).join(\"\"),\n    `CPU  ${cpu}`,\n    `MEM  ${mem}`,\n    `NET  ${net}`,\n    \"\",\n    \"SCALE  . LOW   @ HIGH\",\n    `LINK   ${currentLinkLabel()}`,\n    `UP     ${uptimeString()}`\n  ].join(\"\\n\");\n}\n\nfunction buildProcessTable(cpu, mem) {\n  const lines = [\n    \"PID  CPU MEM STATE  CMD\",\n    `001   1%  2% SLEEP  init`,\n    `014  ${String(Math.max(1, Math.round(cpu * 0.2))).padStart(2, \" \")}%  6% RUN    ttyshelld`,\n    `021  ${String(Math.max(1, Math.round(mem * 0.18))).padStart(2, \" \")}% 14% IDLE   weatherd`,\n    `034   4% 12% WAIT   paintd`,\n    `043   3%  5% IDLE   monitord`,\n    `071   1%  2% SLEEP  audiod`\n  ];\n  if (state.secretUnlocked) {\n    lines.push(\"099   0%  1% HIDE   sys-trace\");\n  }\n  return lines.join(\"\\n\");\n}\n\nfunction updateMonitorUI() {\n  const sample = sampleMonitor();\n  document.getElementById(\"mon-cpu-value\").textContent = `${sample.cpu}%`;\n  document.getElementById(\"mon-mem-value\").textContent = `${sample.mem}%`;\n  document.getElementById(\"mon-disk-value\").textContent = `${sample.disk}%`;\n  document.getElementById(\"mon-net-value\").textContent = `${(sample.net / 4).toFixed(1)}KB/S`;\n  document.getElementById(\"mon-cpu-bar\").style.width = `${sample.cpu}%`;\n  document.getElementById(\"mon-mem-bar\").style.width = `${sample.mem}%`;\n  document.getElementById(\"mon-disk-bar\").style.width = `${sample.disk}%`;\n  document.getElementById(\"mon-net-bar\").style.width = `${sample.net}%`;\n  document.getElementById(\"monitor-link-copy\").innerHTML = [\n    `LINK ${currentLinkLabel()}`,\n    `PROTOCOL ${state.currentSpeed ? PROFILES[state.currentSpeed].proto : \"NONE\"}`,\n    `NOISE ${state.currentSpeed ? PROFILES[state.currentSpeed].noise : \"N/A\"}`\n  ].join(\"<br>\");\n  document.getElementById(\"monitor-services-copy\").innerHTML = [\n    \"TTYD RUNNING\",\n    \"WXD IDLE\",\n    \"PAINTD IDLE\",\n    \"MONITORD SAMPLING\",\n    state.secretUnlocked ? \"TRACE DORMANT\" : \"TRACE HIDDEN\"\n  ].join(\"<br>\");\n  document.getElementById(\"monitor-graph-pre\").textContent = buildMonitorGraph();\n  document.getElementById(\"monitor-processes-pre\").textContent = buildProcessTable(sample.cpu, sample.mem);\n  document.getElementById(\"monitor-status\").textContent = \"MONITOR STREAMING / TTY ALIASES: MONITOR, TOP, HTOP\";\n  document.getElementById(\"monitor-updated\").textContent = `LAST SAMPLE ${formatClock(new Date())}`;\n}\n\nfunction startMonitorLoop() {\n  updateMonitorUI();\n  clearInterval(state.monitorTimer);\n  state.monitorTimer = window.setInterval(updateMonitorUI, 1200);\n}\n\nfunction getSecretsText() {\n  if (!state.secretUnlocked) {\n    return \"access denied. there is definitely something here, though.\";\n  }\n  return \"secret notes: brand button, konami code, matrix burst, sandwich protocol.\";\n}\n\nfunction unlockSecret(reason) {\n  if (state.secretUnlocked) {\n    return;\n  }\n  state.secretUnlocked = true;\n  renderProgramList();\n  document.getElementById(\"secret-copy\").insertAdjacentHTML(\n    \"beforeend\",\n    `<div>UNLOCK VECTOR: ${reason.toUpperCase()}</div>`\n  );\n  bootDesktopLog();\n  appendTerminalLine(`hidden module unlocked: sys trace [${PROGRAM_MAP.phreak.hotkey}]`, \"warn\");\n}\n\nfunction renderMatrix() {\n  const glyphs = \"01#%&@[]{}<>/\\\\|*+=-\";\n  const rows = [];\n  for (let y = 0; y < 28; y += 1) {\n    let line = \"\";\n    for (let x = 0; x < 72; x += 1) {\n      line += glyphs[Math.floor(Math.random() * glyphs.length)];\n    }\n    rows.push(line);\n  }\n  document.getElementById(\"matrix-overlay\").textContent = rows.join(\"\\n\");\n}\n\nfunction toggleMatrix(force) {\n  const next = typeof force === \"boolean\" ? force : !state.matrixActive;\n  if (state.matrixActive === next) {\n    return;\n  }\n  state.matrixActive = next;\n  const overlay = document.getElementById(\"matrix-overlay\");\n  if (next) {\n    overlay.classList.add(\"active\");\n    renderMatrix();\n    clearInterval(state.matrixTimer);\n    state.matrixTimer = window.setInterval(renderMatrix, 160);\n    window.setTimeout(() => toggleMatrix(false), 3200);\n    return;\n  }\n  overlay.classList.remove(\"active\");\n  clearInterval(state.matrixTimer);\n}\n\nfunction focusTerminal() {\n  if (state.currentApp !== \"terminal\") {\n    switchApp(\"terminal\");\n  }\n  window.setTimeout(() => termInput.focus(), 20);\n}\n\nfunction runCommand(raw) {\n  const input = raw.trim();\n  if (!input) {\n    return;\n  }\n  appendPromptEcho(input);\n  const parts = input.split(/\\s+/);\n  const cmd = (parts.shift() || \"\").toLowerCase();\n  const args = parts;\n  const argLine = args.join(\" \");\n\n  if (cmd === \"help\") {\n    appendTerminalBlock([\n      \"commands:\",\n      \"  help       show command list\",\n      \"  neofetch   system banner\",\n      \"  ls/apps    list available modules\",\n      \"  weather    open weather program\",\n      \"  paint      open sketch program\",\n      \"  monitor    open system monitor\",\n      \"  open X     open a program by name\",\n      \"  uptime     show session uptime\",\n      \"  date       show local time\",\n      \"  cat FILE   read a tiny file\",\n      \"  clear      clear terminal\",\n      \"  fortune    questionable wisdom\",\n      \"  matrix     visual burst\",\n      \"  disconnect drop the line\"\n    ]);\n    return;\n  }\n\n  if (cmd === \"clear\") {\n    termOutput.innerHTML = \"\";\n    termOutput.dataset.booted = \"true\";\n    return;\n  }\n\n  if (cmd === \"ls\" || cmd === \"apps\" || cmd === \"programs\") {\n    const modules = getVisiblePrograms().map((program) => program.cli);\n    appendTerminalLine(`${modules.join(\"  \")}  secrets.txt`);\n    return;\n  }\n\n  if (cmd === \"neofetch\") {\n    appendTerminalBlock([\n      \"        ____  ______    _   __   ______\",\n      \"       / __ \\\\/ ____/   / | / /  /_  __/\",\n      \"      / /_/ / __/_____/  |/ /_____/ /\",\n      \"     / ____/ /__/____/ /|  /_____/ /\",\n      \"    /_/   /_____/   /_/ |_/     /_/\",\n      \"\",\n      `    host: peak-tech museum box`,\n      `    link: ${state.currentSpeed ? PROFILES[state.currentSpeed].label : \"OFFLINE\"}`,\n      `    uptime: ${uptimeString()}`,\n      `    apps: ${getVisiblePrograms().map((program) => program.cli).join(\" / \")}`,\n      `    vibe: monochrome terminal shell with weather daemon and pixel sketchpad`\n    ]);\n    return;\n  }\n\n  if (cmd === \"weather\") {\n    appendTerminalLine(\"launching weather daemon...\");\n    switchApp(\"weather\");\n    return;\n  }\n\n  if (cmd === \"paint\" || cmd === \"sketch\") {\n    appendTerminalLine(\"launching peak paint...\");\n    switchApp(\"sketch\");\n    return;\n  }\n\n  if (cmd === \"monitor\" || cmd === \"top\" || cmd === \"htop\" || cmd === \"stats\") {\n    appendTerminalLine(\"launching system monitor...\");\n    switchApp(\"monitor\");\n    return;\n  }\n\n  if (cmd === \"open\" || cmd === \"launch\") {\n    const program = getProgramByToken(argLine);\n    if (program) {\n      appendTerminalLine(`opening ${program.cli}...`);\n      switchApp(program.id);\n      return;\n    }\n    appendTerminalLine(`unknown target: ${argLine || \"?\"}`, \"warn\");\n    return;\n  }\n\n  if (cmd === \"uptime\") {\n    appendTerminalLine(`session uptime: ${uptimeString()}`);\n    return;\n  }\n\n  if (cmd === \"date\") {\n    appendTerminalLine(new Date().toString());\n    return;\n  }\n\n  if (cmd === \"fortune\") {\n    const fortunes = [\n      \"the line noise is part of the charm.\",\n      \"all museum computers eventually become instruments.\",\n      \"you do not find easter eggs. you trigger them.\",\n      \"paint first, optimize later.\",\n      \"there is no cloud. only weather.\"\n    ];\n    appendTerminalLine(fortunes[Math.floor(Math.random() * fortunes.length)], \"muted\");\n    return;\n  }\n\n  if (cmd === \"matrix\") {\n    appendTerminalLine(\"glyph cascade armed.\", \"warn\");\n    toggleMatrix(true);\n    return;\n  }\n\n  if (cmd === \"whoami\") {\n    appendTerminalLine(state.secretUnlocked ? \"visitor (trusted enough)\" : \"visitor\");\n    return;\n  }\n\n  if (cmd === \"cat\") {\n    if (!args[0]) {\n      appendTerminalLine(\"usage: cat FILE\", \"warn\");\n      return;\n    }\n    if (args[0] === \"secrets.txt\") {\n      appendTerminalLine(getSecretsText());\n      return;\n    }\n    if (args[0] === \"/etc/motd\" || args[0] === \"motd\") {\n      appendTerminalLine(\"welcome to peak tech. connect slowly. look closely.\");\n      return;\n    }\n    appendTerminalLine(`cat: ${args[0]}: no such file`, \"warn\");\n    return;\n  }\n\n  if (cmd === \"sudo\") {\n    if (argLine === \"make me a sandwich\") {\n      appendTerminalLine(\"okay.\", \"accent\");\n      return;\n    }\n    if (argLine === \"su\" || argLine === \"unlock museum\") {\n      unlockSecret(\"tty\");\n      appendTerminalLine(\"privilege escalation complete enough.\", \"accent\");\n      return;\n    }\n    appendTerminalLine(\"sudo: permission simulation engaged.\", \"warn\");\n    return;\n  }\n\n  if (cmd === \"rm\" && argLine.includes(\"-rf\") && argLine.includes(\"/\")) {\n    appendTerminalLine(\"nice try. filesystem is read-only in the museum.\", \"danger\");\n    return;\n  }\n\n  if (cmd === \"ps\") {\n    appendTerminalBlock([\n      \"  PID TTY      TIME CMD\",\n      \"  001 tty0  00:00:01 init\",\n      \"  042 tty0  00:00:02 weatherd\",\n      \"  077 tty0  00:00:02 paintd\",\n      state.secretUnlocked ? \"  099 tty0  00:00:00 sys-trace\" : \"  099 tty0  00:00:00 [hidden]\"\n    ]);\n    return;\n  }\n\n  if (cmd === \"disconnect\" || cmd === \"logout\") {\n    appendTerminalLine(\"dropping line...\", \"warn\");\n    window.setTimeout(disconnectSystem, 250);\n    return;\n  }\n\n  if (cmd === \"hack\") {\n    appendTerminalLine(\"all right, movie hacker. try 'matrix' instead.\", \"warn\");\n    return;\n  }\n\n  if (cmd === \"sl\") {\n    appendTerminalBlock([\n      \"     ====        ________                ___________\",\n      \" _D _|  |_______/        \\\\__I_I_____===__|_________|\",\n      \"  |(_)---  |   H\\\\________/ |   |        =|___ ___|\",\n      \"  /     |  |   H  |  |     |   |         ||_| |_||\",\n      \" |      |  |   H  |__--------------------| [___] |\",\n      \" | ________|___H__/__|_____/[][]~\\\\_______|       |\",\n      \" |/ |   |-----------I_____I [][] []  D   |=======|__\"\n    ], \"muted\");\n    return;\n  }\n\n  if (cmd === \"xyzzy\") {\n    appendTerminalLine(\"nothing happens. but it definitely felt important.\", \"muted\");\n    return;\n  }\n\n  appendTerminalLine(`${cmd}: command not found`, \"warn\");\n}\n\nfunction handleTerminalSubmit(event) {\n  event.preventDefault();\n  const value = termInput.value;\n  termInput.value = \"\";\n  runCommand(value);\n}\n\nfunction safeTimeoutFetch(url, timeoutMs) {\n  const controller = new AbortController();\n  const timer = window.setTimeout(() => controller.abort(), timeoutMs);\n  return fetch(url, { signal: controller.signal }).finally(() => {\n    window.clearTimeout(timer);\n  });\n}\n\nfunction getWMO(code) {\n  return WMO[code] || { desc: \"VARIABLE\", icon: \"[???]\" };\n}\n\nfunction densityToChar(value) {\n  const index = Math.max(0, Math.min(RAMP.length - 1, Math.floor((value / 9) * (RAMP.length - 1))));\n  return RAMP[index];\n}\n\nfunction buildPortrait(weatherKey) {\n  const width = 90;\n  const height = 72;\n  const grid = Array.from({ length: height }, () => new Array(width).fill(0));\n  const set = (x, y, value) => {\n    if (x >= 0 && x < width && y >= 0 && y < height) {\n      grid[y][x] = Math.max(grid[y][x], Math.min(9, value));\n    }\n  };\n\n  for (let y = 0; y < height; y += 1) {\n    for (let x = 0; x < width; x += 1) {\n      let value = 1;\n      if (x > width * 0.55 && y < height * 0.4) {\n        const drift = (x - width * 0.55) / (width * 0.45) + (height * 0.4 - y) / (height * 0.4);\n        value = Math.min(3, 1 + drift * 4);\n      }\n      if (x > width * 0.6 && y > height * 0.05 && y < height * 0.35) {\n        value = Math.min(4, value + 2);\n      }\n      grid[y][x] = value;\n    }\n  }\n\n  const headX = Math.floor(width * 0.44);\n  const headY = Math.floor(height * 0.18);\n  const headRx = 22;\n  const headRy = 12;\n\n  for (let y = 1; y <= headY - 2; y += 1) {\n    for (let x = headX - headRx + 3; x <= headX + headRx - 3; x += 1) {\n      const dx = (x - headX) / headRx;\n      const dy = (y - (headY - headRy)) / headRy;\n      if (dx * dx + dy * dy < 1.1) {\n        set(x, y, 8 + (Math.abs(dx) < 0.3 ? 1 : 0));\n      }\n    }\n  }\n\n  for (let strand = 0; strand < 12; strand += 1) {\n    const angle = -Math.PI * 0.8 + strand * ((Math.PI * 1.6) / 11);\n    for (let radius = 0; radius < 20; radius += 1) {\n      const x = Math.round(headX + radius * Math.cos(angle) * 1.8);\n      const y = Math.round(headY - headRy + 2 + radius * Math.sin(angle) * 0.5);\n      if (y < headY - 2) {\n        set(x, y, 7);\n      }\n    }\n  }\n\n  for (let y = headY - headRy; y <= headY + headRy + 2; y += 1) {\n    for (let x = headX - headRx; x <= headX + headRx; x += 1) {\n      const dy = (y - headY) / headRy;\n      const rxAtY = headRx * (1 - dy * 0.15) * Math.sqrt(Math.max(0, 1 - dy * dy));\n      const dx = Math.abs(x - headX);\n      if (dx <= rxAtY) {\n        let shade = 2;\n        const edgeFalloff = 1 - (rxAtY - dx) / rxAtY;\n        shade += edgeFalloff * 2;\n        if (dy < -0.3 && dx < headRx * 0.4) {\n          shade -= 0.5;\n        }\n        if (dy > 0.1 && dx > headRx * 0.5) {\n          shade += 1.5;\n        }\n        set(x, y, Math.round(shade));\n      }\n    }\n  }\n\n  const eyeY = headY - 2;\n  const eyeL = headX - 11;\n  const eyeR = headX + 12;\n  const eyeRX = 7;\n  const eyeRY = 5;\n\n  const drawEye = (cx, cy) => {\n    for (let dx = -eyeRX; dx <= eyeRX; dx += 1) {\n      for (let dy = -eyeRY; dy <= eyeRY; dy += 1) {\n        const ex = dx / eyeRX;\n        const ey = dy / eyeRY;\n        if (ex * ex + ey * ey <= 1) {\n          set(cx + dx, cy + dy, 0);\n        }\n      }\n    }\n    for (let dx = -4; dx <= 4; dx += 1) {\n      for (let dy = -3; dy <= 3; dy += 1) {\n        const ratio = (dx / 4) * (dx / 4) + (dy / 3) * (dy / 3);\n        if (ratio <= 1) {\n          set(cx + dx, cy + dy, ratio > 0.55 ? 8 : 4);\n        }\n      }\n    }\n    for (let dx = -1; dx <= 1; dx += 1) {\n      for (let dy = -1; dy <= 1; dy += 1) {\n        set(cx + dx, cy + dy, 9);\n      }\n    }\n    set(cx + 1, cy - 1, 1);\n    for (let dx = -eyeRX; dx <= eyeRX; dx += 1) {\n      set(cx + dx, cy - eyeRY, 9);\n      set(cx + dx, cy - eyeRY + 1, 8);\n    }\n    for (let dx = -eyeRX + 1; dx <= eyeRX - 1; dx += 1) {\n      set(cx + dx, cy + eyeRY, 8);\n    }\n    for (let dx = -eyeRX; dx <= eyeRX; dx += 1) {\n      for (let dy = -eyeRY; dy <= eyeRY; dy += 1) {\n        const ratio = (dx / eyeRX) * (dx / eyeRX) + (dy / eyeRY) * (dy / eyeRY);\n        if (ratio > 0.85 && ratio <= 1) {\n          set(cx + dx, cy + dy, 9);\n        }\n      }\n    }\n  };\n\n  drawEye(eyeL, eyeY);\n  drawEye(eyeR, eyeY);\n\n  for (let dx = -eyeRX + 1; dx <= eyeRX - 1; dx += 1) {\n    set(eyeL + dx, eyeY + eyeRY + 1, 6);\n    set(eyeR + dx, eyeY + eyeRY + 1, 6);\n  }\n\n  state.portraitMeta = { eyeL, eyeR, eyeY, eyeRX, eyeRY, width, height, headX, headY };\n  state.portraitGrid = grid;\n\n  const browY = eyeY - 3;\n  for (let dx = -5; dx <= 3; dx += 1) {\n    set(eyeL + dx + 1, browY + (dx > 0 ? 0 : 1), 7);\n  }\n  for (let dx = -3; dx <= 5; dx += 1) {\n    set(eyeR + dx - 1, browY + (dx < 0 ? 0 : 1), 7);\n  }\n\n  for (let dy = 0; dy <= 5; dy += 1) {\n    set(headX, eyeY + 2 + dy, 3 + (dy * 0.3) | 0);\n  }\n  set(headX - 2, eyeY + 6, 5);\n  set(headX + 2, eyeY + 6, 5);\n  set(headX - 3, eyeY + 7, 6);\n  set(headX + 3, eyeY + 7, 6);\n\n  const lipY = headY + 4;\n  for (let dx = -5; dx <= 5; dx += 1) {\n    set(headX + dx, lipY, 4 + ((Math.abs(dx) * 0.3) | 0));\n  }\n  for (let dx = -4; dx <= 4; dx += 1) {\n    set(headX + dx, lipY + 1, 5);\n  }\n  set(headX, lipY + 1, 3);\n  set(headX - 1, lipY + 1, 3);\n  for (let dx = -3; dx <= 3; dx += 1) {\n    set(headX + dx, lipY + 2, 7);\n  }\n\n  for (let index = 0; index < 5; index += 1) {\n    set(eyeL - 3 - index, eyeY + 4 + index, 4 + ((index * 0.4) | 0));\n    set(eyeL - 2 - index, eyeY + 5 + index, 3 + ((index * 0.3) | 0));\n    set(eyeR + 3 + index, eyeY + 4 + index, 4 + ((index * 0.4) | 0));\n    set(eyeR + 2 + index, eyeY + 5 + index, 3 + ((index * 0.3) | 0));\n  }\n\n  const neckY = headY + headRy + 1;\n  for (let y = neckY; y <= neckY + 5; y += 1) {\n    for (let dx = -4; dx <= 4; dx += 1) {\n      set(headX + dx, y, 2 + ((Math.abs(dx) * 0.4) | 0));\n    }\n    set(headX - 5, y, 4);\n    set(headX + 5, y, 4);\n    set(headX - 6, y, 6);\n    set(headX + 6, y, 6);\n  }\n\n  const jacketY = neckY + 5;\n  for (let y = jacketY; y < height; y += 1) {\n    const expand = (y - jacketY) * 1.6;\n    const leftEdge = Math.max(0, Math.round(headX - 5 - expand));\n    const rightEdge = Math.min(width - 1, Math.round(headX + 5 + expand));\n    for (let x = leftEdge; x <= rightEdge; x += 1) {\n      const edgeDistance = Math.min(x - leftEdge, rightEdge - x);\n      const crackle =\n        Math.sin(x * 0.8 + y * 0.5) * 1.5 +\n        Math.sin(x * 1.3 - y * 0.9) * 1.0 +\n        Math.sin(x * 0.3 + y * 1.2) * 0.8;\n      let value = 3 + crackle + (edgeDistance < 4 ? (4 - edgeDistance) * 0.8 : 0);\n      if (Math.abs(x - headX) <= 1) {\n        value = 7;\n      }\n      const valleyDistance = y - jacketY;\n      if (Math.abs(x - headX) <= valleyDistance * 0.6 && valleyDistance < 10) {\n        value = 1;\n      }\n      set(x, y, Math.round(Math.max(1, Math.min(8, value))));\n    }\n  }\n\n  if (weatherKey === \"rain\") {\n    for (let i = 0; i < 60; i += 1) {\n      const rx = Math.floor(Math.random() * width);\n      const ry = Math.floor(Math.random() * height);\n      if (grid[ry][rx] < 2) {\n        grid[ry][rx] = 3;\n      }\n    }\n  }\n  if (weatherKey === \"snow\") {\n    for (let i = 0; i < 40; i += 1) {\n      const rx = Math.floor(Math.random() * width);\n      const ry = Math.floor(Math.random() * height);\n      if (grid[ry][rx] < 2) {\n        grid[ry][rx] = 2;\n      }\n    }\n  }\n  if (weatherKey === \"fog\") {\n    for (let y = 0; y < height; y += 1) {\n      for (let x = 0; x < width; x += 1) {\n        grid[y][x] = Math.round(grid[y][x] * 0.6 + 1);\n      }\n    }\n  }\n  if (weatherKey === \"storm\") {\n    for (let i = 0; i < 80; i += 1) {\n      const rx = Math.floor(Math.random() * width);\n      const ry = Math.floor(Math.random() * height);\n      if (grid[ry][rx] < 2) {\n        grid[ry][rx] = 4;\n      }\n    }\n  }\n\n  return grid.map((row) => row.map(densityToChar).join(\"\")).join(\"\\n\");\n}\n\nfunction updateEyes(mouseX, mouseY) {\n  const portrait = document.getElementById(\"ascii-portrait\");\n  const meta = state.portraitMeta;\n  const grid = state.portraitGrid;\n  if (!portrait || !meta || !grid) {\n    return;\n  }\n  const rect = portrait.getBoundingClientRect();\n  const cellWidth = rect.width / meta.width;\n  const cellHeight = rect.height / meta.height;\n  const faceX = rect.left + meta.headX * cellWidth;\n  const faceY = rect.top + meta.headY * cellHeight;\n  const dx = mouseX - faceX;\n  const dy = mouseY - faceY;\n  const dist = Math.sqrt(dx * dx + dy * dy) || 1;\n  const px = Math.round(Math.max(-3, Math.min(3, (dx / dist) * 3)));\n  const py = Math.round(Math.max(-2, Math.min(2, (dy / dist) * 2)));\n\n  const resetEye = (cx, cy) => {\n    for (let ddx = -4; ddx <= 4; ddx += 1) {\n      for (let ddy = -3; ddy <= 3; ddy += 1) {\n        const ratio = (ddx / 4) * (ddx / 4) + (ddy / 3) * (ddy / 3);\n        if (ratio <= 1) {\n          const value = ratio > 0.55 ? 8 : 4;\n          if (cy + ddy >= 0 && cy + ddy < meta.height && cx + ddx >= 0 && cx + ddx < meta.width) {\n            grid[cy + ddy][cx + ddx] = value;\n          }\n        }\n      }\n    }\n  };\n\n  const placePupil = (cx, cy) => {\n    const bx = cx + px;\n    const by = cy + py;\n    for (let ddx = -1; ddx <= 1; ddx += 1) {\n      for (let ddy = -1; ddy <= 1; ddy += 1) {\n        if (by + ddy >= 0 && by + ddy < meta.height && bx + ddx >= 0 && bx + ddx < meta.width) {\n          grid[by + ddy][bx + ddx] = 9;\n        }\n      }\n    }\n    if (by - 1 >= 0 && bx + 1 < meta.width) {\n      grid[by - 1][bx + 1] = 1;\n    }\n  };\n\n  resetEye(meta.eyeL, meta.eyeY);\n  resetEye(meta.eyeR, meta.eyeY);\n  placePupil(meta.eyeL, meta.eyeY);\n  placePupil(meta.eyeR, meta.eyeY);\n\n  const rows = portrait.textContent.split(\"\\n\");\n  const start = Math.max(0, meta.eyeY - meta.eyeRY - 1);\n  const end = Math.min(meta.height - 1, meta.eyeY + meta.eyeRY + 1);\n  for (let row = start; row <= end; row += 1) {\n    rows[row] = grid[row].map(densityToChar).join(\"\");\n  }\n  portrait.textContent = rows.join(\"\\n\");\n}\n\nfunction typewrite(element, lines, speed) {\n  clearTimeout(state.typeTimer);\n  element._lines = lines;\n  element._lineIdx = 0;\n\n  const playLine = () => {\n    const text = element._lines[element._lineIdx];\n    element.textContent = \"\";\n    element.classList.add(\"typing\");\n    let index = 0;\n    const tick = () => {\n      if (index < text.length) {\n        element.textContent += text[index];\n        index += 1;\n        state.typeTimer = window.setTimeout(tick, speed + Math.random() * 20);\n        return;\n      }\n      element.classList.remove(\"typing\");\n      state.typeTimer = window.setTimeout(() => {\n        element._lineIdx = (element._lineIdx + 1) % element._lines.length;\n        playLine();\n      }, 4200);\n    };\n    tick();\n  };\n\n  playLine();\n}\n\nfunction buildChart(days, highs, lows) {\n  const width = 64;\n  const height = 14;\n  const values = highs.concat(lows);\n  const minTemp = Math.floor(Math.min(...values)) - 2;\n  const maxTemp = Math.ceil(Math.max(...values)) + 2;\n  const range = Math.max(1, maxTemp - minTemp);\n  const toRow = (temp) => height - 1 - Math.round(((temp - minTemp) / range) * (height - 1));\n  const grid = Array.from({ length: height }, () => new Array(width).fill(\" \"));\n  const set = (x, y, char) => {\n    if (x >= 0 && x < width && y >= 0 && y < height) {\n      grid[y][x] = char;\n    }\n  };\n\n  for (let row = 0; row < height; row += 1) {\n    const labelValue = Math.round(maxTemp - (row / (height - 1)) * range);\n    const label = `${String(labelValue).padStart(3, \" \")}C`;\n    for (let i = 0; i < label.length; i += 1) {\n      set(i, row, label[i]);\n    }\n  }\n\n  const xStart = 5;\n  const colWidth = Math.floor((width - xStart - 2) / 7);\n  for (let row = 0; row < height; row += 1) {\n    for (let x = xStart; x < width; x += 1) {\n      set(x, row, \".\");\n    }\n  }\n\n  for (let index = 0; index < 7; index += 1) {\n    const x = xStart + index * colWidth + Math.floor(colWidth / 2);\n    const highRow = toRow(highs[index]);\n    const lowRow = toRow(lows[index]);\n    for (let row = highRow; row <= lowRow; row += 1) {\n      set(x, row, \"|\");\n    }\n    set(x, highRow, \"^\");\n    set(x, lowRow, \"v\");\n    if (index < 6) {\n      const nextX = xStart + (index + 1) * colWidth + Math.floor(colWidth / 2);\n      const nextHigh = toRow(highs[index + 1]);\n      const steps = Math.max(1, nextX - x);\n      for (let step = 1; step < steps; step += 1) {\n        const row = Math.round(highRow + (nextHigh - highRow) * (step / steps));\n        set(x + step, row, \"-\");\n      }\n    }\n  }\n\n  let dayLine = \"    \";\n  let hiLine = \"    \";\n  let lowLine = \"    \";\n  for (let index = 0; index < 7; index += 1) {\n    dayLine += days[index].slice(0, 3).padEnd(colWidth, \" \");\n    hiLine += `${highs[index]}C`.padEnd(colWidth, \" \");\n    lowLine += `${lows[index]}C`.padEnd(colWidth, \" \");\n  }\n  return `${grid.map((row) => row.join(\"\")).join(\"\\n\")}\\n${dayLine}\\n${hiLine}\\n${lowLine}`;\n}\n\nfunction renderWeather(location, currentWeather, daily, humidity) {\n  const key =\n    currentWeather.weathercode === 0 ? \"clear\" :\n    currentWeather.weathercode <= 3 ? \"cloud\" :\n    currentWeather.weathercode <= 48 ? \"fog\" :\n    currentWeather.weathercode <= 67 ? \"rain\" :\n    currentWeather.weathercode <= 77 ? \"snow\" :\n    currentWeather.weathercode >= 95 ? \"storm\" :\n    \"cloud\";\n\n  document.getElementById(\"ascii-portrait\").textContent = buildPortrait(key);\n  document.getElementById(\"pm-cond\").textContent = getWMO(currentWeather.weathercode).desc;\n  document.getElementById(\"pm-feel\").textContent = `${Math.round(currentWeather.temperature)} C`;\n  document.getElementById(\"pm-hum\").textContent = `${humidity}%`;\n  document.getElementById(\"pm-wind\").textContent = `${Math.round(currentWeather.windspeed)} KM/H`;\n\n  const speech = document.getElementById(\"speech-text\");\n  typewrite(speech, SPEECH[key] || SPEECH.cloud, 26);\n\n  const days = daily.time.slice(0, 7).map((date) => DAYS[new Date(date).getDay()]);\n  const highs = daily.temperature_2m_max.slice(0, 7).map(Math.round);\n  const lows = daily.temperature_2m_min.slice(0, 7).map(Math.round);\n  const codes = daily.weathercode.slice(0, 7);\n  document.getElementById(\"ascii-chart\").textContent = buildChart(days, highs, lows);\n  const forecastRows = document.getElementById(\"forecast-rows\");\n  forecastRows.innerHTML = \"\";\n  days.forEach((day, index) => {\n    const weather = getWMO(codes[index]);\n    const row = document.createElement(\"div\");\n    row.className = \"fc-row\";\n    row.innerHTML = `\n      <span class=\"fc-day\">${day.slice(0, 3)}</span>\n      <span class=\"fc-icon\">${weather.icon}</span>\n      <span class=\"fc-desc\">${weather.desc}</span>\n      <span class=\"fc-hi\">${highs[index]}C</span>\n      <span class=\"fc-lo\">${lows[index]}C</span>\n    `;\n    forecastRows.appendChild(row);\n  });\n  document.getElementById(\"w-loc\").textContent = location;\n  state.weatherReady = true;\n}\n\nasync function fetchWeather() {\n  let lat = MOCK.lat;\n  let lon = MOCK.lon;\n  let location = MOCK.city;\n  try {\n    const pos = await new Promise((resolve, reject) => {\n      navigator.geolocation.getCurrentPosition(resolve, reject, { timeout: 6000 });\n    });\n    lat = pos.coords.latitude;\n    lon = pos.coords.longitude;\n    try {\n      const geo = await safeTimeoutFetch(`https://nominatim.openstreetmap.org/reverse?lat=${lat}&lon=${lon}&format=json`, 4000);\n      const geoData = await geo.json();\n      location = (geoData.address?.city || geoData.address?.town || geoData.address?.village || geoData.address?.county || location).toUpperCase();\n    } catch (error) {\n      location = location.toUpperCase();\n    }\n  } catch (error) {\n    location = location.toUpperCase();\n  }\n\n  try {\n    const url = `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&daily=weathercode,temperature_2m_max,temperature_2m_min,windspeed_10m_max&current_weather=true&hourly=relativehumidity_2m&timezone=auto&forecast_days=7`;\n    const response = await safeTimeoutFetch(url, 6000);\n    if (!response.ok) {\n      throw new Error(\"weather request failed\");\n    }\n    const data = await response.json();\n    const humidity = data.hourly?.relativehumidity_2m?.[new Date().getHours()] ?? \"--\";\n    renderWeather(location, data.current_weather, data.daily, humidity);\n  } catch (error) {\n    renderWeather(location, MOCK.current, MOCK.daily, MOCK.humidity);\n  }\n}\n\nfunction setPaintTool(tool) {\n  state.paintTool = tool;\n  document.querySelectorAll(\"[data-tool]\").forEach((button) => {\n    button.classList.toggle(\"active\", button.dataset.tool === tool);\n  });\n  document.getElementById(\"sketch-status\").textContent = tool === \"erase\" ? \"ERASER ACTIVE / DRAG TO REMOVE PIXELS\" : \"PEN ACTIVE / DRAG TO DRAW\";\n}\n\nfunction setPaintColor(color) {\n  state.paintColor = color;\n  document.querySelectorAll(\"[data-color]\").forEach((button) => {\n    button.classList.toggle(\"active\", button.dataset.color === color);\n  });\n}\n\nfunction setPaintSize(size) {\n  state.paintSize = size;\n  document.querySelectorAll(\"[data-size]\").forEach((button) => {\n    button.classList.toggle(\"active\", Number(button.dataset.size) === size);\n  });\n}\n\nfunction getCanvasPoint(event) {\n  const rect = sketchCanvas.getBoundingClientRect();\n  const x = Math.floor(((event.clientX - rect.left) / rect.width) * sketchCanvas.width);\n  const y = Math.floor(((event.clientY - rect.top) / rect.height) * sketchCanvas.height);\n  return {\n    x: Math.max(0, Math.min(sketchCanvas.width - 1, x)),\n    y: Math.max(0, Math.min(sketchCanvas.height - 1, y))\n  };\n}\n\nfunction drawPixel(x, y) {\n  const half = Math.floor(state.paintSize / 2);\n  for (let dx = -half; dx <= half; dx += 1) {\n    for (let dy = -half; dy <= half; dy += 1) {\n      const px = x + dx;\n      const py = y + dy;\n      if (px < 0 || py < 0 || px >= sketchCanvas.width || py >= sketchCanvas.height) {\n        continue;\n      }\n      if (state.paintTool === \"erase\") {\n        sketchCtx.clearRect(px, py, 1, 1);\n      } else {\n        sketchCtx.fillStyle = state.paintColor;\n        sketchCtx.fillRect(px, py, 1, 1);\n      }\n    }\n  }\n}\n\nfunction paintLine(from, to) {\n  const dx = to.x - from.x;\n  const dy = to.y - from.y;\n  const steps = Math.max(Math.abs(dx), Math.abs(dy), 1);\n  for (let step = 0; step <= steps; step += 1) {\n    const x = Math.round(from.x + (dx * step) / steps);\n    const y = Math.round(from.y + (dy * step) / steps);\n    drawPixel(x, y);\n  }\n}\n\nfunction updateSketchMemory(hasData) {\n  document.getElementById(\"sketch-memory\").textContent = hasData ? \"LOCAL RAM SLOT: SAVED\" : \"LOCAL RAM SLOT: EMPTY\";\n}\n\nfunction hasStoredSketch() {\n  try {\n    return Boolean(localStorage.getItem(PAINT_KEY));\n  } catch (error) {\n    return false;\n  }\n}\n\nfunction clearSketch(silent) {\n  sketchCtx.clearRect(0, 0, sketchCanvas.width, sketchCanvas.height);\n  if (!silent) {\n    document.getElementById(\"sketch-status\").textContent = \"FRAME BUFFER CLEARED\";\n  }\n}\n\nfunction saveSketch() {\n  try {\n    localStorage.setItem(PAINT_KEY, sketchCanvas.toDataURL(\"image/png\"));\n    updateSketchMemory(true);\n    document.getElementById(\"sketch-status\").textContent = \"DRAWING SAVED TO LOCAL STORAGE\";\n  } catch (error) {\n    document.getElementById(\"sketch-status\").textContent = \"SAVE FAILED / STORAGE NOT AVAILABLE\";\n  }\n}\n\nfunction loadSketch() {\n  try {\n    const data = localStorage.getItem(PAINT_KEY);\n    if (!data) {\n      updateSketchMemory(false);\n      document.getElementById(\"sketch-status\").textContent = \"NO SAVED FRAME BUFFER FOUND\";\n      return;\n    }\n    const image = new Image();\n    image.onload = () => {\n      clearSketch(true);\n      sketchCtx.drawImage(image, 0, 0, sketchCanvas.width, sketchCanvas.height);\n      updateSketchMemory(true);\n      document.getElementById(\"sketch-status\").textContent = \"SAVED FRAME BUFFER LOADED\";\n    };\n    image.src = data;\n  } catch (error) {\n    document.getElementById(\"sketch-status\").textContent = \"LOAD FAILED / STORAGE NOT AVAILABLE\";\n  }\n}\n\nfunction saveSketchImage() {\n  const stamp = new Date().toISOString().replace(/[:.]/g, \"-\");\n  const link = document.createElement(\"a\");\n  link.href = sketchCanvas.toDataURL(\"image/png\");\n  link.download = `peak-tech-sketch-${stamp}.png`;\n  link.click();\n  document.getElementById(\"sketch-status\").textContent = \"IMAGE SAVED AS PNG\";\n}\n\nfunction handlePaintStart(event) {\n  event.preventDefault();\n  state.paintDrawing = true;\n  const point = getCanvasPoint(event);\n  state.lastPaintPoint = point;\n  drawPixel(point.x, point.y);\n  sketchCanvas.setPointerCapture(event.pointerId);\n  document.getElementById(\"sketch-status\").textContent = `DRAWING AT ${point.x},${point.y}`;\n}\n\nfunction handlePaintMove(event) {\n  const point = getCanvasPoint(event);\n  document.getElementById(\"sketch-status\").textContent = state.paintDrawing ? `DRAWING AT ${point.x},${point.y}` : `CURSOR ${point.x},${point.y}`;\n  if (!state.paintDrawing) {\n    return;\n  }\n  paintLine(state.lastPaintPoint, point);\n  state.lastPaintPoint = point;\n}\n\nfunction handlePaintEnd(event) {\n  if (state.paintDrawing) {\n    state.paintDrawing = false;\n    state.lastPaintPoint = null;\n    if (event.pointerId != null) {\n      sketchCanvas.releasePointerCapture(event.pointerId);\n    }\n    document.getElementById(\"sketch-status\").textContent = \"STROKE COMMITTED\";\n  }\n}\n\nfunction initSketch() {\n  clearSketch(true);\n  updateSketchMemory(hasStoredSketch());\n  setPaintTool(\"pen\");\n  setPaintColor(\"#f2f2f2\");\n  setPaintSize(1);\n}\n\nfunction attachEvents() {\n  document.querySelectorAll(\".conn-row\").forEach((row) => {\n    row.addEventListener(\"click\", () => selectSpeed(row));\n  });\n\n  document.getElementById(\"connect-btn\").addEventListener(\"click\", startConnect);\n  document.getElementById(\"enter-system-btn\").addEventListener(\"click\", enterSystem);\n  document.getElementById(\"disconnect-btn\").addEventListener(\"click\", disconnectSystem);\n  document.getElementById(\"refresh-weather-btn\").addEventListener(\"click\", fetchWeather);\n  document.getElementById(\"focus-terminal-btn\").addEventListener(\"click\", focusTerminal);\n  document.getElementById(\"terminal-form\").addEventListener(\"submit\", handleTerminalSubmit);\n  document.getElementById(\"program-list\").addEventListener(\"click\", (event) => {\n    const button = event.target.closest(\".program-row\");\n    if (button) {\n      switchApp(button.dataset.app);\n    }\n  });\n\n  document.querySelectorAll(\"[data-tool]\").forEach((button) => {\n    button.addEventListener(\"click\", () => setPaintTool(button.dataset.tool));\n  });\n\n  document.querySelectorAll(\"[data-color]\").forEach((button) => {\n    button.addEventListener(\"click\", () => setPaintColor(button.dataset.color));\n  });\n\n  document.querySelectorAll(\"[data-size]\").forEach((button) => {\n    button.addEventListener(\"click\", () => setPaintSize(Number(button.dataset.size)));\n  });\n\n  document.getElementById(\"sketch-clear-btn\").addEventListener(\"click\", () => clearSketch(false));\n  document.getElementById(\"sketch-save-btn\").addEventListener(\"click\", saveSketch);\n  document.getElementById(\"sketch-load-btn\").addEventListener(\"click\", loadSketch);\n  document.getElementById(\"sketch-image-btn\").addEventListener(\"click\", saveSketchImage);\n\n  sketchCanvas.addEventListener(\"pointerdown\", handlePaintStart);\n  sketchCanvas.addEventListener(\"pointermove\", handlePaintMove);\n  sketchCanvas.addEventListener(\"pointerup\", handlePaintEnd);\n  sketchCanvas.addEventListener(\"pointercancel\", handlePaintEnd);\n  sketchCanvas.addEventListener(\"pointerleave\", handlePaintEnd);\n\n  document.addEventListener(\"mousemove\", (event) => updateEyes(event.clientX, event.clientY));\n\n  document.getElementById(\"brand-button\").addEventListener(\"click\", () => {\n    state.brandClicks += 1;\n    window.clearTimeout(state.brandResetTimer);\n    state.brandResetTimer = window.setTimeout(() => {\n      state.brandClicks = 0;\n    }, 1200);\n    if (state.brandClicks >= 5) {\n      state.brandClicks = 0;\n      unlockSecret(\"brand\");\n      toggleMatrix(true);\n    }\n  });\n\n  const konami = [\"ArrowUp\", \"ArrowUp\", \"ArrowDown\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\", \"ArrowLeft\", \"ArrowRight\", \"b\", \"a\"];\n  document.addEventListener(\"keydown\", (event) => {\n    const key = event.key.length === 1 ? event.key.toLowerCase() : event.key;\n    if (key === konami[state.konamiIndex]) {\n      state.konamiIndex += 1;\n      if (state.konamiIndex === konami.length) {\n        state.konamiIndex = 0;\n        unlockSecret(\"konami\");\n        appendTerminalLine(\"sequence accepted. hidden module is now online.\", \"accent\");\n      }\n    } else {\n      state.konamiIndex = key === konami[0] ? 1 : 0;\n    }\n\n    if (!document.getElementById(\"desktop-screen\").classList.contains(\"active\")) {\n      return;\n    }\n\n    const activeElement = document.activeElement;\n    const inputFocused = activeElement && activeElement.tagName === \"INPUT\";\n\n    if (!inputFocused) {\n      const hotkeyProgram = getVisiblePrograms().find((program) => program.hotkey === event.key);\n      if (hotkeyProgram) {\n        switchApp(hotkeyProgram.id);\n      }\n      if (event.key === \"/\") {\n        event.preventDefault();\n        focusTerminal();\n      }\n    }\n  });\n}\n\nupdateClock();\nwindow.setInterval(updateClock, 1000);\nmodemIdle();\nrenderProgramList();\nattachEvents();\ninitSketch();\nfetchWeather();\n</script>\n</body>\n</html>","embedURL":""}},"3009:878":{"type":"TEXT","id":"3009:878","name":"Rich text/Header 6","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":29.0,"height":22.0},"isolatedAbsoluteRenderBounds":{"x":1.16800010204315,"y":5.79999923706055,"width":24.5662517547607,"height":14.8800010681152},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":29.0,"y":22.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":16.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":-0.48,"letterSpacingValue":-3.0,"letterSpacingUnit":"PERCENT","lineHeightPx":22.3999996185303,"lineHeightPercent":112.0,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"4082:4911":{"type":"TEXT","id":"4082:4911","name":"HHG - Blurb","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":29.0,"height":36.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":29.0,"height":36.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":29.0,"y":36.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Scheherazade New","fontPostScriptName":"ScheherazadeNew-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":20.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":2.0,"letterSpacingValue":10.0,"letterSpacingUnit":"PERCENT","lineHeightPx":36.0,"lineHeightPercent":88.2547302246094,"lineHeightPercentFontSize":180.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"4084:4681":{"type":"TEXT","id":"4084:4681","name":"Desktop/HHG - H1","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":37.0,"height":18.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":37.0,"height":18.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":37.0,"y":18.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Zetta","fontPostScriptName":"LexendZetta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":18.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":18.0,"lineHeightPercent":80.0,"lineHeightPercentFontSize":100.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"4084:3968":{"type":"TEXT","id":"4084:3968","name":"Desktop/HHG - Body 2","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":20.0,"height":27.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":20.0,"height":27.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":20.0,"y":27.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Scheherazade New","fontPostScriptName":"ScheherazadeNew-Regular","fontStyle":"Regular","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":18.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":27.0,"lineHeightPercent":73.5456085205078,"lineHeightPercentFontSize":150.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"4082:4259":{"type":"TEXT","id":"4082:4259","name":"Desktop/HHG - H0","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":31.0,"height":32.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":31.0,"height":32.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":31.0,"y":32.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":16.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.8,"letterSpacingValue":5.0,"letterSpacingUnit":"PERCENT","lineHeightPx":32.0,"lineHeightPercent":160.0,"lineHeightPercentFontSize":200.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3449:2722":{"type":"TEXT","id":"3449:2722","name":"Desktop/HHG - Component H1","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":18.0,"height":13.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":18.0,"height":13.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":18.0,"y":13.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":9.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.45,"letterSpacingValue":5.0,"letterSpacingUnit":"PERCENT","lineHeightPx":12.5999994277954,"lineHeightPercent":112.0,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"2960:583":{"type":"TEXT","id":"2960:583","name":"Rich text/Welcome Article-H2","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":63.0,"height":60.0},"isolatedAbsoluteRenderBounds":{"x":0.912000060081482,"y":13.8400001525879,"width":58.4831275939941,"height":32.6399993896484},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":63.0,"y":60.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Work Sans","fontPostScriptName":"WorkSans-Light","fontStyle":"Light","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":48.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":60.0,"lineHeightPercent":106.56436920166,"lineHeightPercentFontSize":125.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3125:1637":{"type":"TEXT","id":"3125:1637","name":"Rich text/Header 5","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":22.0,"height":28.0},"isolatedAbsoluteRenderBounds":{"x":0.205078125,"y":6.60546875,"width":20.0445308685303,"height":18.65234375},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":22.0,"y":28.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Reddit Mono","fontPostScriptName":"RedditMono-Light","fontStyle":"Light","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":20.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":-0.6,"letterSpacingValue":-3.0,"letterSpacingUnit":"PERCENT","lineHeightPx":28.0,"lineHeightPercent":107.789474487305,"lineHeightPercentFontSize":140.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"4084:3956":{"type":"TEXT","id":"4084:3956","name":"Desktop/HHG - Body 1","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":16.0,"height":21.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":16.0,"height":21.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":16.0,"y":21.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Scheherazade New","fontPostScriptName":"ScheherazadeNew-Regular","fontStyle":"Regular","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":14.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":21.0,"lineHeightPercent":73.5456085205078,"lineHeightPercentFontSize":150.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"3125:1635":{"type":"TEXT","id":"3125:1635","name":"Rich text/Header 3","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":36.0,"height":42.0},"isolatedAbsoluteRenderBounds":{"x":0.328125,"y":9.96875,"width":32.0712509155273,"height":29.84375},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":36.0,"y":42.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Reddit Mono","fontPostScriptName":"RedditMono-Light","fontStyle":"Light","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":32.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":-0.96,"letterSpacingValue":-3.0,"letterSpacingUnit":"PERCENT","lineHeightPx":41.5999984741211,"lineHeightPercent":100.090225219727,"lineHeightPercentFontSize":130.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textCase":"ORIGINAL","textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"4084:3955":{"type":"TEXT","id":"4084:3955","name":"Desktop/HHG - H3","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":21.0,"height":10.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":21.0,"height":10.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":21.0,"y":10.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Zetta","fontPostScriptName":"LexendZetta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":10.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":10.0,"lineHeightPercent":80.0,"lineHeightPercentFontSize":100.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}},"4084:4037":{"type":"TEXT","id":"4084:4037","name":"Desktop/HHG - List Content","absoluteBoundingBox":{"x":0.0,"y":0.0,"width":27.0,"height":21.0},"isolatedAbsoluteRenderBounds":{"x":0.0,"y":0.0,"width":27.0,"height":21.0},"relativeTransform":[[1.0,0.0,0.0],[0.0,1.0,0.0]],"size":{"x":27.0,"y":21.0},"fills":[{"blendMode":"NORMAL","type":"SOLID","color":{"r":0.0,"g":0.0,"b":0.0,"a":1.0},"visible":true,"opacity":1.0}],"visible":false,"strokeAlign":"INSIDE","strokes":[],"strokeWeight":0.0,"effects":[],"accessibleHTMLTag":"AUTO","isDecorativeImage":false,"ariaAttributes":{},"interactions":[],"characterStyleOverrides":[],"characters":"Ag","lineIndentations":[0],"lineTypes":["NONE"],"listStartOffsets":[],"lineStyleOverrides":[0],"lineTextDirections":null,"textAutoResize":"WIDTH_AND_HEIGHT","style":{"fontFamily":"Lexend Peta","fontPostScriptName":"LexendPeta-Regular","fontStyle":"Regular","textCase":"UPPER","textAutoResize":"WIDTH_AND_HEIGHT","fontVariantPosition":"NORMAL","fontSize":14.0,"textAlignHorizontal":"LEFT","textAlignVertical":"TOP","letterSpacing":0.0,"letterSpacingValue":0.0,"letterSpacingUnit":"PERCENT","lineHeightPx":21.0,"lineHeightPercent":120.0,"lineHeightPercentFontSize":150.0,"lineHeightUnit":"FONT_SIZE_%","paragraphSpacing":0,"paragraphIndent":0,"listSpacing":0,"italic":false,"textDecoration":"NONE","textDecorationSkipInk":false,"textDecorationStyle":"solid","textTruncation":"DISABLED"},"styleOverrideTable":{}}},"assetIdToGuid":{},"guidToUrl":{"4055:10494":"/projectlist","3905:14723":"/lineage","3097:266":"/lets-talk","3944:4761":"/studio","3859:28150":"/imageandimage","3123:615":"/about","4200:35605":"/thinkcode","3910:18537":"/brashystudios","2938:1414":"/recentartefacts","3094:525":"/production","3946:2833":"/reauthored","3662:28647":"/cafea","2933:1874":"/projects","3094:529":"/automation","3554:2234":"/easy-start","3823:4964":"/negspclounge","3094:522":"/creative-direction","2924:1360":"/index","3722:2461":"/","3790:6277":"/negspc","3778:56167":"/internetmuseum","4128:3343":"/page"},"fonts":{"Work Sans:Regular":{"id":"WorkSans_wght__2","url":"/_woff/v2/WorkSans_wght__2/WorkSans_wght__2.woff2","source":1,"italic":false,"weight":400,"variationAxes":[{"tag":"wght","value":400.0,"name":"Weight"}],"subsets":{"baseUrl":"/_woff/v2/WorkSans_wght__2/","subsetMappings":[{"unicodeRange":"U+0000-00A0,U+00A2-00A9,U+00AC-00AE,U+00B0-00B7,U+00B9-00BA,U+00BC-00BE,U+00D7,U+00F7,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-21BB,U+2212,U+2215,U+F8FF,U+FEFF,U+FFFD","file":"WorkSans_wght__2-english.woff2"},{"unicodeRange":"U+00A1,U+00AA-00AB,U+00AF,U+00B8,U+00BB,U+00BF-00D6,U+00D8-00F6,U+00F8-00FF,U+0131,U+0152-0153,U+02B0-02FF","file":"WorkSans_wght__2-rest-latin.woff2"},{"unicodeRange":"U+0100-0130,U+0132-0151,U+0154-017F","file":"WorkSans_wght__2-latin-extended-a.woff2"},{"unicodeRange":"U+0180-024F","file":"WorkSans_wght__2-latin-extended-b.woff2"},{"unicodeRange":"U+1E00-1EFF","file":"WorkSans_wght__2-latin-extended-additional.woff2"},{"unicodeRange":"U+0250-02AF,U+0300-1DFF,U+1F00-1FFF,U+2070-2073,U+2075-20AB,U+20AD-2121,U+2123-218F,U+21BC-2211,U+2213-2214,U+2216-F8FE,U+F900-FEFE,U+FF00-FFFC,U+FFFE-FFFF","file":"WorkSans_wght__2-rest.woff2"}]}},"Climate Crisis:Regular":{"id":"ClimateCrisis_YEAR__2","url":"/_woff/v2/ClimateCrisis_YEAR__2/ClimateCrisis_YEAR__2.woff2","source":1,"italic":false,"weight":400,"variationAxes":[{"tag":"YEAR","value":1979.0,"name":"YEAR"}]},"Work Sans:Light":{"id":"WorkSans_wght__2","url":"/_woff/v2/WorkSans_wght__2/WorkSans_wght__2.woff2","source":1,"italic":false,"weight":300,"variationAxes":[{"tag":"wght","value":300.0,"name":"Weight"}],"subsets":{"baseUrl":"/_woff/v2/WorkSans_wght__2/","subsetMappings":[{"unicodeRange":"U+0000-00A0,U+00A2-00A9,U+00AC-00AE,U+00B0-00B7,U+00B9-00BA,U+00BC-00BE,U+00D7,U+00F7,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-21BB,U+2212,U+2215,U+F8FF,U+FEFF,U+FFFD","file":"WorkSans_wght__2-english.woff2"},{"unicodeRange":"U+00A1,U+00AA-00AB,U+00AF,U+00B8,U+00BB,U+00BF-00D6,U+00D8-00F6,U+00F8-00FF,U+0131,U+0152-0153,U+02B0-02FF","file":"WorkSans_wght__2-rest-latin.woff2"},{"unicodeRange":"U+0100-0130,U+0132-0151,U+0154-017F","file":"WorkSans_wght__2-latin-extended-a.woff2"},{"unicodeRange":"U+0180-024F","file":"WorkSans_wght__2-latin-extended-b.woff2"},{"unicodeRange":"U+1E00-1EFF","file":"WorkSans_wght__2-latin-extended-additional.woff2"},{"unicodeRange":"U+0250-02AF,U+0300-1DFF,U+1F00-1FFF,U+2070-2073,U+2075-20AB,U+20AD-2121,U+2123-218F,U+21BC-2211,U+2213-2214,U+2216-F8FE,U+F900-FEFE,U+FF00-FFFC,U+FFFE-FFFF","file":"WorkSans_wght__2-rest.woff2"}]}},"Reddit Mono:Light":{"id":"RedditMono_wght__1","url":"/_woff/v2/RedditMono_wght__1/RedditMono_wght__1.woff2","source":1,"italic":false,"weight":300,"variationAxes":[{"tag":"wght","value":300.0,"name":"Weight"}],"subsets":{"baseUrl":"/_woff/v2/RedditMono_wght__1/","subsetMappings":[{"unicodeRange":"U+0000-00A0,U+00A2-00A9,U+00AC-00AE,U+00B0-00B7,U+00B9-00BA,U+00BC-00BE,U+00D7,U+00F7,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-21BB,U+2212,U+2215,U+F8FF,U+FEFF,U+FFFD","file":"RedditMono_wght__1-english.woff2"},{"unicodeRange":"U+00A1,U+00AA-00AB,U+00AF,U+00B8,U+00BB,U+00BF-00D6,U+00D8-00F6,U+00F8-00FF,U+0131,U+0152-0153,U+02B0-02FF","file":"RedditMono_wght__1-rest-latin.woff2"},{"unicodeRange":"U+0100-0130,U+0132-0151,U+0154-017F","file":"RedditMono_wght__1-latin-extended-a.woff2"},{"unicodeRange":"U+0180-024F","file":"RedditMono_wght__1-latin-extended-b.woff2"},{"unicodeRange":"U+1E00-1EFF","file":"RedditMono_wght__1-latin-extended-additional.woff2"},{"unicodeRange":"U+0250-02AF,U+0300-1DFF,U+1F00-1FFF,U+2070-2073,U+2075-20AB,U+20AD-2121,U+2123-218F,U+21BC-2211,U+2213-2214,U+2216-F8FE,U+F900-FEFE,U+FF00-FFFC,U+FFFE-FFFF","file":"RedditMono_wght__1-rest.woff2"}]}},"Lexend Peta:Regular":{"id":"LexendPeta_wght__1","url":"/_woff/v2/LexendPeta_wght__1/LexendPeta_wght__1.woff2","source":1,"italic":false,"weight":400,"variationAxes":[{"tag":"wght","value":400.0,"name":"Weight"}],"subsets":{"baseUrl":"/_woff/v2/LexendPeta_wght__1/","subsetMappings":[{"unicodeRange":"U+0000-00A0,U+00A2-00A9,U+00AC-00AE,U+00B0-00B7,U+00B9-00BA,U+00BC-00BE,U+00D7,U+00F7,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-21BB,U+2212,U+2215,U+F8FF,U+FEFF,U+FFFD","file":"LexendPeta_wght__1-english.woff2"},{"unicodeRange":"U+00A1,U+00AA-00AB,U+00AF,U+00B8,U+00BB,U+00BF-00D6,U+00D8-00F6,U+00F8-00FF,U+0131,U+0152-0153,U+02B0-02FF","file":"LexendPeta_wght__1-rest-latin.woff2"},{"unicodeRange":"U+0100-0130,U+0132-0151,U+0154-017F","file":"LexendPeta_wght__1-latin-extended-a.woff2"},{"unicodeRange":"U+0180-024F","file":"LexendPeta_wght__1-latin-extended-b.woff2"},{"unicodeRange":"U+1E00-1EFF","file":"LexendPeta_wght__1-latin-extended-additional.woff2"},{"unicodeRange":"U+0250-02AF,U+0300-1DFF,U+1F00-1FFF,U+2070-2073,U+2075-20AB,U+20AD-2121,U+2123-218F,U+21BC-2211,U+2213-2214,U+2216-F8FE,U+F900-FEFE,U+FF00-FFFC,U+FFFE-FFFF","file":"LexendPeta_wght__1-rest.woff2"}]}},"Abhaya Libre:Regular":{"id":"AbhayaLibre-Regular_1","url":"/_woff/v2/AbhayaLibre-Regular_1/AbhayaLibre-Regular_1.woff2","source":1,"italic":false,"weight":400,"subsets":{"baseUrl":"/_woff/v2/AbhayaLibre-Regular_1/","subsetMappings":[{"unicodeRange":"U+0000-00A0,U+00A2-00A9,U+00AC-00AE,U+00B0-00B7,U+00B9-00BA,U+00BC-00BE,U+00D7,U+00F7,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-21BB,U+2212,U+2215,U+F8FF,U+FEFF,U+FFFD","file":"AbhayaLibre-Regular_1-english.woff2"},{"unicodeRange":"U+00A1,U+00AA-00AB,U+00AF,U+00B8,U+00BB,U+00BF-00D6,U+00D8-00F6,U+00F8-00FF,U+0131,U+0152-0153,U+02B0-02FF","file":"AbhayaLibre-Regular_1-rest-latin.woff2"},{"unicodeRange":"U+0100-0130,U+0132-0151,U+0154-017F","file":"AbhayaLibre-Regular_1-latin-extended-a.woff2"},{"unicodeRange":"U+0180-024F","file":"AbhayaLibre-Regular_1-latin-extended-b.woff2"},{"unicodeRange":"U+1E00-1EFF","file":"AbhayaLibre-Regular_1-latin-extended-additional.woff2"},{"unicodeRange":"U+0250-02AF,U+0300-1DFF,U+1F00-1FFF,U+2070-2073,U+2075-20AB,U+20AD-2121,U+2123-218F,U+21BC-2211,U+2213-2214,U+2216-F8FE,U+F900-FEFE,U+FF00-FFFC,U+FFFE-FFFF","file":"AbhayaLibre-Regular_1-rest.woff2"}]}},"Lexend Zetta:Regular":{"id":"LexendZetta_wght__1","url":"/_woff/v2/LexendZetta_wght__1/LexendZetta_wght__1.woff2","source":1,"italic":false,"weight":400,"variationAxes":[{"tag":"wght","value":400.0,"name":"Weight"}],"subsets":{"baseUrl":"/_woff/v2/LexendZetta_wght__1/","subsetMappings":[{"unicodeRange":"U+0000-00A0,U+00A2-00A9,U+00AC-00AE,U+00B0-00B7,U+00B9-00BA,U+00BC-00BE,U+00D7,U+00F7,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-21BB,U+2212,U+2215,U+F8FF,U+FEFF,U+FFFD","file":"LexendZetta_wght__1-english.woff2"},{"unicodeRange":"U+00A1,U+00AA-00AB,U+00AF,U+00B8,U+00BB,U+00BF-00D6,U+00D8-00F6,U+00F8-00FF,U+0131,U+0152-0153,U+02B0-02FF","file":"LexendZetta_wght__1-rest-latin.woff2"},{"unicodeRange":"U+0100-0130,U+0132-0151,U+0154-017F","file":"LexendZetta_wght__1-latin-extended-a.woff2"},{"unicodeRange":"U+0180-024F","file":"LexendZetta_wght__1-latin-extended-b.woff2"},{"unicodeRange":"U+1E00-1EFF","file":"LexendZetta_wght__1-latin-extended-additional.woff2"},{"unicodeRange":"U+0250-02AF,U+0300-1DFF,U+1F00-1FFF,U+2070-2073,U+2075-20AB,U+20AD-2121,U+2123-218F,U+21BC-2211,U+2213-2214,U+2216-F8FE,U+F900-FEFE,U+FF00-FFFC,U+FFFE-FFFF","file":"LexendZetta_wght__1-rest.woff2"}]}},"Scheherazade New:Regular":{"id":"ScheherazadeNew-Regular_3","url":"/_woff/v2/ScheherazadeNew-Regular_3/ScheherazadeNew-Regular_3.woff2","source":1,"italic":false,"weight":400}},"assets":{"358ce2071dacf9b8d44c90d45fa4131cc0d169a4":{"type":"PAINT_ASSET","url":"358ce2071dacf9b8d44c90d45fa4131cc0d169a4.png","size":{"x":0.0,"y":0.0}},"16141025267738ae557eed60650058c6d62a1cef":{"type":"PAINT_ASSET","url":"16141025267738ae557eed60650058c6d62a1cef.png","size":{"x":0.0,"y":0.0}},"e959ff239f29970acde808b937ca96f136e061b3":{"type":"PAINT_ASSET","url":"e959ff239f29970acde808b937ca96f136e061b3.png","size":{"x":0.0,"y":0.0}},"a89b11ab69ecb5c8d0ab2de4ef5727a5b22ae4e8":{"type":"PAINT_ASSET","url":"a89b11ab69ecb5c8d0ab2de4ef5727a5b22ae4e8.png","size":{"x":0.0,"y":0.0}},"2629238e3b119bc25a08ff033afaba8da8289eeb":{"type":"PAINT_ASSET","url":"2629238e3b119bc25a08ff033afaba8da8289eeb.png","size":{"x":0.0,"y":0.0}},"20efc63ae415f78ff9628c8fe4181eb4023bb921":{"type":"PAINT_ASSET","url":"20efc63ae415f78ff9628c8fe4181eb4023bb921.png","size":{"x":0.0,"y":0.0}},"7f74c52de7344b1a0f3131961f8d04738d5e90ff":{"type":"PAINT_ASSET","url":"7f74c52de7344b1a0f3131961f8d04738d5e90ff.png","size":{"x":0.0,"y":0.0}},"a47ba8ef1564816f0c63559f4687929cf00769b6":{"type":"PAINT_ASSET","url":"a47ba8ef1564816f0c63559f4687929cf00769b6.png","size":{"x":0.0,"y":0.0}},"c3a7ad82a6050ea2c14e98bba23f56d4f1a4db23":{"type":"GENERATED_ASSET","url":"c3a7ad82a6050ea2c14e98bba23f56d4f1a4db23.png","size":{"x":1200.0,"y":630.0},"offsets":{"top":{"value":0,"unit":"PIXELS"},"right":{"value":0,"unit":"PIXELS"},"bottom":{"value":0,"unit":"PIXELS"},"left":{"value":0,"unit":"PIXELS"}},"format":"PNG"},"966b57fc23787ef29ab9661750901e5c7c58dc2f":{"type":"GENERATED_ASSET","url":"966b57fc23787ef29ab9661750901e5c7c58dc2f.png","size":{"x":48.0,"y":48.0},"offsets":{"top":{"value":0,"unit":"PIXELS"},"right":{"value":0,"unit":"PIXELS"},"bottom":{"value":0,"unit":"PIXELS"},"left":{"value":0,"unit":"PIXELS"}},"format":"PNG"}},"stablePathToAssetInfo":{"3425:4374":{"hash":"c3a7ad82a6050ea2c14e98bba23f56d4f1a4db23"},"3425:4373":{"hash":"966b57fc23787ef29ab9661750901e5c7c58dc2f"}},"animateRootIds":[],"siteSettings":{"title":"Intelligence Matters — Authorship-Led Image Studio","description":"Intelligence Matters is an authorship-led image studio working across concepts, campaigns, and visual worlds for fashion, luxury, and culture.","scalingMode":"REFLOW","lang":"en","googleAnalyticsID":"G-NRF6Q0TR2P","customCodeHeadStart":"<title>...</title>\n<meta name=\"description\" ...>\n<meta property=\"og:title\" ...>\n<meta property=\"og:description\" ...>","ignoreReducedMotion":true,"faviconFilename":"966b57fc23787ef29ab9661750901e5c7c58dc2f.png","socialImageFilename":"c3a7ad82a6050ea2c14e98bba23f56d4f1a4db23.png","labs":{"E5FBBA911B2B7A09E649D4BE6CDF8591EAEFC881":false}},"sourceCodeHash":"e91b297b0a80bb59e9bf3db8e0853eb15b1fbc11"}